AppleScript choose file or folder

前端 未结 2 1409
感动是毒
感动是毒 2021-01-13 07:40

can I use AppleScript to choose either file or folder in one time?

Now I could use

tell application \"SystemUIServer\" to return POSIX path of (choo         


        
2条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-13 08:04

    No, you can't do it with "choose file" or "choose folder" verbs, but choosing a file or folder (or multiple files/folders) is supported by the underlying NSOpenPanel. So you can do it with AppleScriptObjC. Here's an example using ASObjCRunner (derived from here):

    script chooseFilesOrFolders
        tell current application's NSOpenPanel's openPanel()
            setTitle_("Choose Files or Folders") -- window title, default is "Open"
            setPrompt_("Choose") -- button name, default is "Open"
    
            setCanChooseFiles_(true)
            setCanChooseDirectories_(true)
            setAllowsMultipleSelection_(true) -- remove if you only want a single file/folder
    
            get its runModal() as integer -- show the panel
            if result is current application's NSFileHandlingPanelCancelButton then error number -128 -- cancelled
            return URLs() as list
        end tell
    end script
    
    tell application "ASObjC Runner"
        activate
        run the script {chooseFilesOrFolders} with response
    end tell
    

    ASObjCRunner converts a NSArray of NSURL objects into an AppleScript list of files; the results can look something like:

    {file "Macintosh HD:Users:nicholas:Desktop:fontconfig:", file "Macintosh HD:Users:nicholas:Desktop:form.pdf"}
    

提交回复
热议问题