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

yge*_*rts 6 javascript adobe after-effects extendscript

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

就像,如果我从命令行运行它:

C:\>"C:\Program Files\\Adobe\\Adobe After Effects CC\\Support Files\\AfterFX" -r   "C:\Workspaces\MyAEScripts\AutomateSetup.jsx" hello
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

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

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

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


Twi*_*Sun 3

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

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

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