Проверьте, существует ли диск в appleScript - PullRequest
2 голосов
/ 05 марта 2012

Я делаю сценарий Apple для размонтирования тома, когда он мне не нужен, а затем снова монтирую его, когда нажимаю на приложение ...

Я создаю его в Automator, и код выглядит так:

if disk "UNIVERSAL" exists then

    do shell script "diskutil unmount /volumes/UNIVERSAL"

  else

    do shell script "diskutil mount /volumes/UNIVERSAL"

end if

Я получаю сообщение об ошибке disk "UNIVERSAL" exists, пожалуйста, помогите ...

Спасибо Ben

Ответы [ 3 ]

4 голосов
/ 06 марта 2012

Является ли оператор if в блоке "Finder" приложения приложения Tell?

tell application "Finder"
if disk "Mac OS X" exists then
    beep
end if
end tell
1 голос
/ 06 марта 2012
  • Проверка, существует ли папка, на самом деле небезопасна, что, если предыдущее монтирование не удалось?
  • Что, если есть каталог, смонтированный UNIVERSAL-1 или UNIVERSAL MOVIES ... и т.д.

Более безопасной и более близкой альтернативой Finder будет

set theVolume to "/Volumes/UNIVERSAL"
set mountedVolumes to every paragraph of (do shell script "mount | awk -F' on ' '{print $2}' | awk -F' \\\\(' '{print $1}'")
if theVolume is in mountedVolumes then
    --Volume is mounted
else
    --volume is not mounted
end if
1 голос
/ 06 марта 2012

Альтернативой использованию Finder является ...

set diskName to "UNIVERSAL"

if diskName is in (do shell script "/bin/ls /Volumes") then
    -- unmount
else
    -- mount
end if
...