我创建了两个小滴,一个用于重命名文件,另一个用于打印文件。它们比这更复杂,但这是本质。有时我们需要重命名它们,有时只是打印它们,有时两者都做。由于每个用户都需要进行大量的自定义,我宁愿将这两个水滴分开。
所需的工作流程:将文件拖到RenameMe Droplet,如果按住命令键,则将重命名的文件传递给PrintMe droplet。
在checkModifierKeys脚本的帮助下(抱歉,没有引用方便)我可以检查是否按下了命令键,以便处理部分脚本。问题是如何从第一个液滴触发第二个液滴。我已经尝试使用第二个Droplet作为应用程序打开文件(如下面的代码中所示)但是出现通信错误。
有什么想法吗? --Alex
示例代码:
on open the_Droppings
set flPth to POSIX path of (path to me) & "Contents/MacOS/checkModifierKeys"
set cmdPressed to (do shell script (quoted form of flPth & " command")) as integer as boolean
repeat with i from 1 to (count of items in the_Droppings)
set file_name to "NEW NAME FROM SCRIPT" #actual script that generates name isn't relevant
tell application "Finder"
set name of file (item i of the_Droppings) to file_name
end tell
if cmdPressed is true then
#pass the file to the PrintMe droplet
tell application "PrintMe"
open (item i of the_Droppings)
end tell
end if
end repeat
end open
答案 0 :(得分:0)
您可以向PrintMe添加一个显式的运行处理程序,这将允许您在脚本中有两个不同的入口点。两者都有争议。我在这里设置了一个文件被传递给运行处理程序,并且一个列表被传递给open处理程序,但是如果你想要,你可以将一个列表传递给运行处理程序并重复你在open中执行的方式。
在RenameMe中:
if cmdPressed is true then
#pass the file to the PrintMe droplet
run script (load script file "path:to:PrintMe.app") with parameters (item i of the_Droppings)
end if
在我打印:
on open the_droppings
repeat with i from 1 to (count the_droppings)
process(item i of the_droppings)
end repeat
end open
on run the_file
process(the_file)
end run
on process(the_file)
// Code for printing files goes here
end process