디스크 마운트에서 Applescript를 실행하는 방법 여부가 아니라 OS X가 디스크를

특정 디스크를 마운트 할 때 Applescript를 실행하고 싶습니다. 스크립트가 디스크에 있는지 여부가 아니라 OS X가 디스크를 마운트 할 때만 실행해야합니다.

폴더 작업 으로이 작업을 수행하려고했지만이 방법으로는 불가능한 것 같습니다.

설명:

  1. 맥북으로 집에 돌아갑니다
  2. USB 허브를 장치에 연결합니다
  3. 외부 디스크는 OS X에 마운트됩니다
  4. 내 Applescript가 실행되고 해당 디스크에서 몇 가지 작업을 수행합니다.

4 단계를 자동화하고 싶습니다.



답변

디스크를 마운트하는 컨텍스트에 대해서는 언급하지 않지만 다른 방법으로 진행하여 Applescript로 디스크를 마운트하는 것은 어떻습니까?

Applescript로 디스크를 마운트 할 때 네트워크 볼륨이고 네트워크가 암호로 보호되어 있으면 사용자 이름과 암호를 스크립트에 일반 텍스트로 저장해야한다는 큰주의가 있기 때문에 컨텍스트를 언급합니다. 실행.

업데이트 : 약간의 검색으로 다른 곳에서 비슷한 질문이 발견되었습니다. 기본적으로 스크립트를 / Volumes에 폴더 조치로 적용하여 스크립트를 작성할 수 있습니다.

on adding folder items to this_folder after receiving these_items
    repeat with aItem in these_items
        tell application "Finder"
            if (local volume of aItem) and (name of aItem is "[Name of Hard Drive]") then
                -- do something with the drive
                -- eject aItem
            end if
        end tell
    end repeat
end adding folder items to

답변

가장 강력한 해결책은 속성을 다음 launchd과 같이 StartOnMount설정하여 작업 을 만드는 것입니다 -boolean YES.

StartOnMount <boolean>
이 선택적 키는 파일 시스템이 마운트 될 때마다 작업이 시작되도록합니다.

이것이 Time Machine이하는 방식입니다 (참조 /System/Library/LaunchDaemons/com.apple.backupd-attach.plist).


답변

/ Volume을 모니터링하는 Finder FolderAction을 사용하십시오. 새 폴더가 나타나면 새 디스크가 연결되었음을 의미합니다. 이제 FolderAction은 Automator 액션, AppleScript 또는 쉘 스크립트를 실행하여 작업을 수행 할 수 있습니다.


답변

MarcoPolo 는 디스크 연결을 기반으로 작업을 수행 할 수 있습니다.


답변

해결책은 다음 3 가지 작업을 연결하는 Automator 응용 프로그램을 만드는 것입니다.

  • 지정된 파인더 항목 가져 오기
  • 디스크 이미지 마운트
  • AppleScript를 실행하십시오

답변

필요에 따라 특정 폴더 / 마운트 지점에 적용 할 수 있으며 USB 플래시 드라이브를 마운트 할 때 사용하면 좋습니다.

http://www.jbmurphy.com/2011/07/15/os-x-running-a-script-when-a-usb-drive-is-inserted/