【发布时间】:2014-01-01 05:43:11
【问题描述】:
我正在用 ExtendScript 为 Illustrator CS6 编写脚本。在我的脚本结束时,我想使用File.execute() 生成一个任务(Ruby 中的第二个脚本)。但是,它不起作用。而且我不知道如何调试问题 - 我怎么才能弄清楚为什么这不起作用?
这是我的 ExtendScript 文件的结尾:
// Do a bunch of other work, then:
var rubyFile = new File(scriptFolder + 'BuildHtmlWalkthrough.rb');
alert(rubyFile.exists);
var result = rubyFile.execute();
alert(result);
rubyFile.exists 和result 始终为真,表示脚本启动正常。但是脚本似乎根本没有运行。我尝试了以下诊断:
- Ruby 脚本确实从命令行成功运行。该脚本的权限为
-rwxr-xr-x - 我在 Ruby 脚本的第一行添加了对
system("touch /blah/blah/blah")的调用。文件没有被触及。 - 我认为ExtendScript 进程可能在Ruby 脚本运行之前就终止了,所以我在
rubyFile.execute()之后添加了一个长for 循环。旋转超过 30 秒没有帮助。
我可以做些什么来调试或解决这个问题?
我使用的是 MacOS X v10.9.1。作为参考,这是File.execute()的文档:
File.execute(): 布尔值
核心 JavaScript 类
执行或打开 该文件使用适当的应用程序,就好像它已经 在文件浏览器中双击。您可以使用此方法运行 脚本、启动应用程序等。如果立即返回 true 应用启动成功。
【问题讨论】:
标签: adobe-illustrator extendscript