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

7
我想要从命令行运行 Adobe AE 扩展脚本,我使用“-r”参数可以成功运行脚本。但是,能否将参数传递给脚本呢?
比如,如果我在命令行中运行以下命令:
C:\>"C:\Program Files\\Adobe\\Adobe After Effects CC\\Support Files\\AfterFX" -r   "C:\Workspaces\MyAEScripts\AutomateSetup.jsx" hello

是否可能将“hello”添加到我的AutomateSetup.jsx脚本中?我已经搜索了一段时间,但找不到解决方法。


4
我四处查看了一下,没有标准的参数传递解决方案。很抱歉。但是你可以让你的脚本读取另一个包含参数的文件。 - fabianmoronzirfas
2个回答

7

对于那些遇到这个问题并不想编写文件的人,可以使用 -s 开关传递参数,将参数作为脚本运行到 AfterEffects 程序中。例如,您可以在 Windows 命令提示符下执行以下操作:

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

您可以从使用evalFile命令运行的脚本中访问myArg。通过这种方式,您可以只传递包含命令行参数的单个字符串,或者为所需的每个变量创建和设置单独的变量。请注意,您不需要转义脚本行中使用的引号,只需像输入文本文件一样键入即可(但请将该行括在引号中)。

作为After Effects脚本的新手,请在必要时进行更正。


如果需要传递许多参数,这个解决方案似乎有点繁琐。 - ariestav
1
这很麻烦,但是在不创建临时文件的情况下,这是我能想到的最好方法。我在一个生成命令行的脚本中使用了它,所以这并不是什么大问题,但如果你只是手动从命令提示符运行它,那么它就没有什么用处了。 - Jeff Stern

3
我的解决方法是将参数写入当前工作目录或脚本所在的目录下的文件中,然后在脚本中读取它们。
在Mac OS X中,您可以使用system.callSystem('pwd')获取工作目录。
在Windows中,您可以使用system.callSystem('cmd.exe /c "echo %cd%"'')获取脚本所在的目录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接