Automator Quick Action - 运行 文件夹中每个项目的 AppleScript
Automator Quick Action - Run AppleScript on each item in folder
我正在尝试在 Automator 中构建一个快速操作,我可以在任何文件夹上 运行,这将在该文件夹内的每个 .pdf 文件上逐一 运行 以下 AppleScript - 等待第一个完成,然后再开始下一个文件。
目前我只有我想要 运行 的 AppleScript 代码,但我不知道如何将它附加到快速操作并使其成为每个 pdf 上的代码 运行里面的项目。
注意:每次文件夹中的PDF文件数量可能不同。
on run {input, parameters}
set theFile to input's item 1
set theSeconds to time of (current date)
tell application "Finder"
set theDuplicate to duplicate file "Macintosh HD:Users:username:Documents:IddTest:template.indd"
end tell
tell application "Adobe InDesign 2020" to open file (theDuplicate as string)
tell application "Adobe InDesign 2020"
if document 1 exists then
repeat 34 times
tell document 1
relink link "placeholder.pdf" to theFile
try
update link "placeholder.pdf"
end try
end tell
end repeat
end if
close document 1 saving yes
end tell
tell application "Finder"
set name of theDuplicate to "" & theSeconds & ".indd"
end tell
end run
请注意,我没有 Adobe InDesign 2020 所以我对你的 AppleScript code 尚未经过测试,但我相信它应该有效。
在 Automator 中创建一个新的 workflow 作为 Quick Action设置如下图所示。
添加 获取文件夹内容 操作.
添加 Filter Finder Items action,设置如下图所示。
添加一个运行AppleScriptaction替换默认的code 与下面的 AppleScript code。
示例 AppleScript 代码:
on run {input, parameters}
repeat with thisFile in input
set theSeconds to time of (current date)
tell application "Finder"
set theDuplicate to duplicate file "Macintosh HD:Users:username:Documents:IddTest:template.indd"
end tell
tell application "Adobe InDesign 2020"
open file (theDuplicate as string)
delay 2
if document 1 exists then
repeat 34 times
tell document 1
relink link "placeholder.pdf" to thisFile
try
update link "placeholder.pdf"
end try
end tell
end repeat
end if
close document 1 saving yes
end tell
tell application "Finder"
set name of theDuplicate to "" & theSeconds & ".indd"
end tell
end repeat
end run
我正在尝试在 Automator 中构建一个快速操作,我可以在任何文件夹上 运行,这将在该文件夹内的每个 .pdf 文件上逐一 运行 以下 AppleScript - 等待第一个完成,然后再开始下一个文件。
目前我只有我想要 运行 的 AppleScript 代码,但我不知道如何将它附加到快速操作并使其成为每个 pdf 上的代码 运行里面的项目。
注意:每次文件夹中的PDF文件数量可能不同。
on run {input, parameters}
set theFile to input's item 1
set theSeconds to time of (current date)
tell application "Finder"
set theDuplicate to duplicate file "Macintosh HD:Users:username:Documents:IddTest:template.indd"
end tell
tell application "Adobe InDesign 2020" to open file (theDuplicate as string)
tell application "Adobe InDesign 2020"
if document 1 exists then
repeat 34 times
tell document 1
relink link "placeholder.pdf" to theFile
try
update link "placeholder.pdf"
end try
end tell
end repeat
end if
close document 1 saving yes
end tell
tell application "Finder"
set name of theDuplicate to "" & theSeconds & ".indd"
end tell
end run
请注意,我没有 Adobe InDesign 2020 所以我对你的 AppleScript code 尚未经过测试,但我相信它应该有效。
在 Automator 中创建一个新的 workflow 作为 Quick Action设置如下图所示。
添加 获取文件夹内容 操作.
添加 Filter Finder Items action,设置如下图所示。
添加一个运行AppleScriptaction替换默认的code 与下面的 AppleScript code。
示例 AppleScript 代码:
on run {input, parameters}
repeat with thisFile in input
set theSeconds to time of (current date)
tell application "Finder"
set theDuplicate to duplicate file "Macintosh HD:Users:username:Documents:IddTest:template.indd"
end tell
tell application "Adobe InDesign 2020"
open file (theDuplicate as string)
delay 2
if document 1 exists then
repeat 34 times
tell document 1
relink link "placeholder.pdf" to thisFile
try
update link "placeholder.pdf"
end try
end tell
end repeat
end if
close document 1 saving yes
end tell
tell application "Finder"
set name of theDuplicate to "" & theSeconds & ".indd"
end tell
end repeat
end run