2015-07-18 3 views
0

Я хочу написать сценарий с помощью Automator, который открывает папку в определенном месте после получения пользовательского ввода. Не обязательно быть Applescript.Applescript запросить ввод, проверить папку существует, а затем открыть папку

Так шаги будут:
Диалог просят имя папки
Проверка папки существует
Если существует, откройте папку в новом окне искателя
, если не существует, на дисплее сообщение

Любая помощь будет очень оценили.

ответ

0

вместо того, чтобы просить пользователя набрать имя папки в диалоговом окне, почему бы не использовать стандартную «выбрать папку», которая обеспечивает обычный графический интерфейс выбора файлов и папок? Кроме того, он также гарантирует, что выбранная папка существует!

Также можно инструкция пользователя «если My_Folder существует, то ...», чтобы проверить, если папка (или файл) существует

Пример прямого выбора пользователя: 5 первых линий просят выбора папки в папку Документы и обнаружить аннулирование пользователя. Следующие строки являются лишь примером для отображения результата

try 
set SelectFolder to choose folder with prompt "choose folder" default location "/Users/My_User/Documents" 
on error number -128 
set SelectFolder to "" 
end try 


if SelectFolder is "" then 
display alert "user did not select a folder" 
else 
display alert "User selection is " & SelectFolder 
end if 
0

Следующий скрипт выполняет именно то, о чем вы просите.

on run 
    set thisFolder to (choose folder with prompt "Choose a folder...") 
    if folderExists(thisFolder) then 
     -- display dialog "The folder exists." buttons {"OK"} default button 1 
     tell application "Finder" to open thisFolder 
    else 
     display dialog "The folder has been deleted" buttons {"OK"} default button 1 
    end if 
end run 

on folderExists(theFolder) 
    tell application "Finder" 
     try 
      set thisFolder to the POSIX path of theFolder 
      set thisFolder to (POSIX file thisFolder) as text 
      --set thisFolder to theFolder as alias 
      return true 
     on error err 
      return false 
     end try 
    end tell 
end folderExists 

Это означает, что папка, выбранная с помощью команды AppleScript Select Folder, всегда должна существовать. Его нельзя выбрать, если он не существует. Поэтому моя первая мысль заключается в том, что вам это не нужно, но если вам нужно проверить, существует ли папка по другой причине, то функция folderExists выполнит эту работу.

Смежные вопросы