使用 macOS,我有一个命令行可执行文件,可以按照有关使用 Automator 的一些建议,使用以下代码将其用作应用程序:
on run {input, parameters}
tell application "Terminal"
activate
do script with command "myname"
end tell
return input
end run
其中 myname(不是真实姓名)是我要运行的可执行文件的别名。这确实创建了一个我可以双击的可执行文件。
然后我想将扩展名 .myname 与该应用程序关联。我能做到。但是,当我双击该文件时,它会运行我的应用程序,而不会引用该文件。我想使用单个命令行参数(我双击的文件的名称)运行可执行文件。我希望/猜测我可以通过将“myname”更改为“myname ???”之类的内容来做到这一点- 但什么是???
Automator 应用程序将输入项传递到工作流程。 对于 Run AppleScript 操作,它会在
input
参数中以列表形式接收这些内容。 如果只是双击应用程序,该操作还可以检查空输入并弹出一个选择对话框。
请注意,终端的
do script
命令是一个字符串(没有 with
属性),因此您需要构建完整的命令行语句,例如:
on run {input, parameters} -- example
if input is {} then set input to (choose file with prompt "Choose file items:" with multiple selections allowed)
set command to "/bin/ls -l " -- path to command - note that a default $PATH is used
set args to ""
repeat with anItem in input -- create an argument string from the input list items
set args to args & space & quoted form of POSIX path of anItem
end repeat
tell application "Terminal"
activate
try -- use front window
do script command & args in front window
on error -- no window, so use a new one
do script command & args
end try
end tell
return input -- pass items on to other actions
end run