Applescript在脚本中移动文件时出现问题

时间:2016-10-07 08:45:04

标签: applescript move

这是我正在尝试使用的脚本:

on open thisItem
set this_folder to (the POSIX path of thisItem)
set export_folder to "Macintosh HD:Users:j****.*******:Desktop:AUTOMATOR:export"
set pdf_folder to "Macintosh HD:Users:j****.*****:Desktop:AUTOMATOR:PDF"
tell application "Adobe Illustrator" to open thisItem
tell application "Adobe Illustrator" to save current document in export_folder as pdf with options {class:PDF save options, PDF preset:"Low res proofing"}
tell application "Adobe Illustrator" to close current document
tell application "UltraLowPDF" to open
tell application "Finder" to move every file of folder "Macintosh HD:Users:j*****.*****:Desktop:AUTOMATOR:PDF" to container of this_folder

结束

这个脚本应该做一些事情: 1.它使用adobe illustrator从.ai文件创建pdf文件。 2.然后通过自动播放器工作流运行该pdf文件,然后将pdf吐出到桌面上的文件夹中。 3.然后将该pdf文件从桌面移动回原始.ai文件的文件夹。

除了第3步之外,脚本的每个部分都工作正常,它似乎完全忽略了它。我已经尝试添加延迟,认为脚本已经超前了。

我还尝试使用此Droplet隔离脚本的移动部分:

on open thisItem
set this_folder to (the POSIX path of thisItem)
tell application "Finder" to move every file of folder "Macintosh HD:Users:j****.******:Desktop:AUTOMATOR:PDF" to container of this_folder

结束

但这只会引发一个错误,说它无法获取文件的“class ctnr”(-1728)。

非常感谢任何帮助。 感谢。

(注意:我已经将文件路径的用户名部分标榜为隐私)

编辑:似乎是脚本的Automator部分是问题,(''UltralowPDF“”应用程序)。运行后,脚本中的任何内容都不会运行。

1 个答案:

答案 0 :(得分:0)

问题是thisItem实际上是theseItems(又名列表)。您需要重复循环或 - 如下面的代码 - 获取列表的第一项。

Finder不接受(斜杠分隔)POSIX路径。它仅适用于(冒号分隔的)HFS路径。

该脚本使用相对路径path to desktop,该路径始终指向当前用户的桌面。

on open theseItems
    set automatorFolder to (path to desktop as text) & "AUTOMATOR:"
    set thisItem to item 1 of theseItems

    set export_folder to automatorFolder & "export:"
    set pdf_folder to automatorFolder & "PDF:"
    tell application "Adobe Illustrator" to open thisItem
    tell application "Adobe Illustrator" to save current document in export_folder as pdf with options {class:PDF save options, PDF preset:"Low res proofing"}
    tell application "Adobe Illustrator" to close current document
    tell application "UltraLowPDF" to open
    tell application "Finder" to move every file of folder pdf_folder to container of thisItem
end open