특정 디스크를 마운트 할 때 Applescript를 실행하고 싶습니다. 스크립트가 디스크에 있는지 여부가 아니라 OS X가 디스크를 마운트 할 때만 실행해야합니다.
폴더 작업 으로이 작업을 수행하려고했지만이 방법으로는 불가능한 것 같습니다.
설명:
- 맥북으로 집에 돌아갑니다
- USB 허브를 장치에 연결합니다
- 외부 디스크는 OS X에 마운트됩니다
- 내 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/