从查找器选择中获取 POSIX PATH
Getting POSIX PATH from finder selection
我正在尝试构建一个快速操作,能够使用带有 applescript 的 automator 在 finder 中找到选定的文件夹。我无法让它工作。它总是返回错误“无法获取 POSIX 路径”。到目前为止,这是我的代码:
on run {input, parameters}
tell application "Finder" to set theFiles to POSIX path of input
tell application "Terminal"
do shell script "ls " & theFiles
activate
end tell
return theFiles
end run
谢谢。
这里有一个Automator Service我用的,你可以根据自己的喜好进行调整:
on run {input, parameters}
set theseFinderItems to {}
repeat with aItem in input
copy quoted form of POSIX path of aItem to end of theseFinderItems
copy space to end of theseFinderItems
end repeat
tell application "Terminal"
do script "ls -aleO@ " & theseFinderItems
end tell
end run
这是选择 Finder item 时 Terminal 中的示例输出,然后
ls -aleO@ Finder Items Service,在 macOS Mojave 及更高版本中是称为快速操作。
$ ls -aleO@ '/Volumes/RAMDisk/CAT RP6500/Service Manual - CM20160617-56278-18523.pdf'
-rw-r--r--@ 1 me staff - 7061976 Jun 1 21:08 /Volumes/RAMDisk/CAT RP6500/Service Manual - CM20160617-56278-18523.pdf
com.apple.lastuseddate#PS 16
com.apple.metadata:kMDItemDownloadedDate 53
com.apple.metadata:kMDItemWhereFroms 116
com.apple.quarantine 57
$
注意:示例 AppleScript code 就是这样,不包含任何可能适当的错误处理。用户有责任根据需要或需要添加任何 错误处理 。查看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay 命令 在适当的事件之间可能是必要的,例如delay 0.5
,适当设置延迟的值。
我正在尝试构建一个快速操作,能够使用带有 applescript 的 automator 在 finder 中找到选定的文件夹。我无法让它工作。它总是返回错误“无法获取 POSIX 路径”。到目前为止,这是我的代码:
on run {input, parameters}
tell application "Finder" to set theFiles to POSIX path of input
tell application "Terminal"
do shell script "ls " & theFiles
activate
end tell
return theFiles
end run
谢谢。
这里有一个Automator Service我用的,你可以根据自己的喜好进行调整:
on run {input, parameters}
set theseFinderItems to {}
repeat with aItem in input
copy quoted form of POSIX path of aItem to end of theseFinderItems
copy space to end of theseFinderItems
end repeat
tell application "Terminal"
do script "ls -aleO@ " & theseFinderItems
end tell
end run
这是选择 Finder item 时 Terminal 中的示例输出,然后
ls -aleO@ Finder Items Service,在 macOS Mojave 及更高版本中是称为快速操作。
$ ls -aleO@ '/Volumes/RAMDisk/CAT RP6500/Service Manual - CM20160617-56278-18523.pdf'
-rw-r--r--@ 1 me staff - 7061976 Jun 1 21:08 /Volumes/RAMDisk/CAT RP6500/Service Manual - CM20160617-56278-18523.pdf
com.apple.lastuseddate#PS 16
com.apple.metadata:kMDItemDownloadedDate 53
com.apple.metadata:kMDItemWhereFroms 116
com.apple.quarantine 57
$
注意:示例 AppleScript code 就是这样,不包含任何可能适当的错误处理。用户有责任根据需要或需要添加任何 错误处理 。查看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay 命令 在适当的事件之间可能是必要的,例如delay 0.5
,适当设置延迟的值。