我正在尝试用Apple Script运行三个不同的脚本,这些脚本会让我:
我没有任何编程知识,我从网上收集了不同的脚本,并尝试制作一个可以执行以下3个简单任务的应用程序:
on open argv
set paths to ""
repeat with f in argv
set paths to paths & quoted form of POSIX path of f & " "
end repeat
tell application "Terminal"
do script "for f in " & paths & "; do ffmpeg -i \"$f\" -acodec copy -y \"$f\" output.jpg; done"
activate
do script "for f in " & paths & "; do AtomicParsley \"$f\" --artwork output.jpg; done"
activate
do script "rm output. jpg"
activate
end tell
end open
问题在于,当我在应用程序上删除文件时,它会立即打开三个终端窗口并同时运行三个任务,结果显示转换失败:第一个任务会覆盖输入文件,第二个脚本应使用第一个脚本的输出作为其输入文件。所以我需要一个接一个地连续执行三个脚本。
答案 0 :(得分:0)
试试这个,它使用标准脚本添加命令do shell script
来运行shell脚本而无需打开Terminal.app
on open argv
repeat with anItem in argv
set anItemPath to quoted form of POSIX path of anItem
do shell script "ffmpeg -i " & anItemPath & " -acodec copy -y " & anItemPath & " output.jpg"
do shell script "AtomicParsley " & anItemPath & " --artwork output.jpg; rm output. jpg"
end repeat
end open