Adobe After Effects扩展脚本 - 如何从命令行运行脚本并传入参数?

时间:2014-02-20 22:00:48

标签: javascript adobe extendscript after-effects

我正在尝试从命令行运行Adobe AE extendcript。我使用“-r”参数,我可以运行脚本。但是,是否可以将参数传递给脚本?

喜欢,如果我从命令行运行它:

C:\>"C:\Program Files\\Adobe\\Adobe After Effects CC\\Support Files\\AfterFX" -r   "C:\Workspaces\MyAEScripts\AutomateSetup.jsx" hello

是否可以在我的AutomateSetup.jsx脚本中获得“hello”?我已经谷歌搜索了一段时间,无法找到解决方案。

2 个答案:

答案 0 :(得分:5)

对于遇到此问题并且不想编写文件的人,可以使用-s开关传递参数,该开关将AfterEffects程序的参数作为脚本运行。例如,您可以执行以下操作(Windows cmd):

afterfx.exe -s "var myArg="I'm a string!"; $.evalFile("Your path to script here")"

然后,您可以从evalFile命令中运行的脚本访问myArg。有了这个,您可以传入包含命令行参数的单个字符串,或者根据需要设置和设置单个变量。另请注意,您不需要转义在脚本行中使用的引号,只需将其输入就好像它只是一个文本文件(但用引号括起来)。

我是After Effects脚本的新手,所以如果这在某种程度上是错误的,请更正。

答案 1 :(得分:3)

我的解决方法是将参数写入当前工作目录中的文件或脚本所在的目录下,然后在脚本中读取它们。

您可以使用system.callSystem('pwd')在Mac OS X中获取工作目录。

在Windows下,您可以使用system.callSystem('cmd.exe /c "echo %cd%"'')获取脚本目录。