要求输入Applescript,验证文件夹是否存在,然后打开文件夹

时间:2015-07-18 19:57:03

标签: applescript finder

我想使用Automator编写一个脚本,在接收到用户输入后打开特定位置的文件夹。不一定是Applescript。

所以步骤是:
对话框要求文件夹名称
验证文件夹是否存在 如果存在,请在新的查找窗口中打开文件夹
如果不存在,则显示消息

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

而不是要求用户在对话框中键入文件夹名称,为什么不使用提供常用文件/文件夹选择图形界面的标准“选择文件夹”?除此之外,它还将确保所选文件夹存在!

也可以用户指示“如果My_Folder存在则...”来检查文件夹(或文件)是否存在

直接用户选择示例:5个第一行询问文件夹Documents中的文件夹选择并检测用户取消。下一行只是显示结果的示例

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

答案 1 :(得分: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的“选择文件夹”命令选择的文件夹必须始终存在。如果它不存在,则无法选择它。因此,我首先想到的是你不需要这个,但如果你需要检查一个文件夹是否存在的原因不同,那么folderExists函数就可以完成这项工作。