Создайте псевдоним подключенного тома в доме пользователя с помощью AppleScript

В Mac OS 10.10 я пытаюсь создать псевдоним подключенного тома и поместить псевдоним в домашнюю папку пользователя, чтобы позже его можно было поместить в док. Том представляет собой общий ресурс SMB с именем satffdata$ (это скрытый общий ресурс Windows, поэтому в конце стоит $). Я пробовал разные варианты путей, такие как явное определение и использование встроенных псевдонимов, но безрезультатно.

Пожалуйста, посмотрите код ниже, а затем выведите. Код ошибки, который я получаю, и то, что я прочитал, предполагает, что проблема может заключаться в том, что пути отображаются как строки, однако я не могу явно определить имя загрузочного диска или профиль пользователя, так как они могут отличаться во время script автоматически запускается нашей системой Casper Suite.

tell application "Finder"
    activate

    try
        display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
        mount volume "smb://servername/staffdata$"
        set staffData to POSIX path of "/Volumes/staffdata$"
        set homeDir to POSIX path of (path to home folder)
        display dialog staffData
        display dialog homeDir
        make new alias to staffData at homeDir
        set name of result to "staffdata$"

    end try
end tell

Вывод выглядит следующим образом:

tell application "Finder"
    activate
    display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
        --> {button returned:"OK"}
    mount volume "smb://servername/staffdata$"
        --> error number -10004
end tell
tell application "Script Editor"
    mount volume "smb://servername/staffdata$"
        --> file "staffdata$:"
end tell
tell application "Finder"
    display dialog "/Volumes/staffdata$"
        --> {button returned:"OK"}
    display dialog "/"
        --> {button returned:"OK"}
    make new alias to "/Volumes/staffdata$" at "/"
        --> error number -10000
end tell

Если у вас есть какие-либо вопросы, я отвечу, как только смогу. Спасибо!


person Josh Hancock    schedule 11.09.2015    source источник


Ответы (1)


Основная проблема скрипта в том, что Finder не принимает пути POSIX.

Словарь Finder имеет свойство home, представляющее домашнюю папку, и disk объектов, которые можно легко указать по имени.

Попробуй это

display dialog "Setting your StaffData$ (P Drive) Shortcut. Press OK to continue."
try
    set volumeName to "staffdata$"
    mount volume "smb://servername/" & volumeName
    tell application "Finder"
        if not (exists alias file volumeName of home) then
            make new alias file to disk volumeName at home
            set name of result to volumeName
        end if
    end tell
on error e
    display dialog e
end try
person vadian    schedule 11.09.2015