디스크 마운트에서 Applescript를 실행하는 방법


11

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

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

설명:

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

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


답변:


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

AS로 디스크를 마운트하고 싶지 않고 디스크가 마운트 될 때 AS 를 실행 하고 싶습니다 . 글을 더 명확하게하기 위해 글을 편집하겠습니다.
— jsadfeew

나는 그 질문을 이해했지만 매우 쉽게 할 수 있다고 생각하지 않습니다. 그러나 나는 약간의 도구를 사용하여 약간의 조정으로 귀하의 요구를 충족시킬 수있는 것을 발견했습니다.
— Philip Regan

스크립트를 약간 수정했습니다. 작동 :)
— jsadfeew

12

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

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

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


"이런 종류의 물건"이 제대로 존재하는 런칭에만 의존하기 때문에 이것이 가장 강력한 솔루션이라고 생각합니다.
— Matt

2

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



0

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

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

1
다시 말하지만, Applescript로 이미지 나 디스크를 마운트하고 싶지 않습니다. 디스크가 마운트 될 때 스크립트를 실행하고 싶습니다. 나는 당신의 단계로 그것을 달성 할 수있는 방법을 찾을 수 없습니다.
— jsadfeew

그렇습니다. 이미지 디스크가 아닌 마운트하는 하드 드라이브이기 때문에 작동하지 않는다는 것을 알았습니다.
— kraymer 2019

답변이 묻는 질문과 다른 질문을 다루므로 삭제를 고려해야합니다.
— DanielSmedegaardBuus

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.