2014-02-20 59 views
4

我正在嘗試從命令行運行Adobe AE extensions。我使用「-r」參數,我可以很好地運行腳本。但是,是否有可能將參數傳遞給腳本?Adob​​e After Effects擴展腳本 - 如何從命令行運行腳本並傳入參數?

一樣,如果我在命令行中運行以下命令:

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

是有可能得到的是「你好」到我AutomateSetup.jsx腳本?我一直在Google上搜索,並找不到解決方案。

+0

看看進入後的效果腳本指南CS6。有關於命令行和參數的一節。 http://blogs.adobe.com/aftereffects/files/2012/06/After-Effects-CS6-Scripting-Guide.pdf?file=2012/06/After-Effects-CS6-Scripting-Guide.pdf – fabianmoronzirfas

+4

我把環顧四周。對於論證傳遞沒有標準的解決方案。抱歉。但是你可以讓腳本讀取另一個包含參數的文件。 – fabianmoronzirfas

回答

3

我的解決方法是將參數寫入到當前工作目錄或在腳本所在的目錄下的文件,然後在劇本閱讀。

可以使用system.callSystem('pwd')得到的工作目錄在Mac OS X。

在Windows下,你可以使用system.callSystem('cmd.exe /c "echo %cd%"'')腳本的目錄。

4

對於誰遇到這個問題,不想寫一個文件的人,你可以用它運行參數的後遺症程序作爲腳本-s開關參數傳遞。例如,你可以做以下(Windows CMD):

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

然後你可以從你的evalFile命令運行該腳本訪問myArg。有了這個,你可以傳入包含你的命令行參數的單個字符串,或者爲你需要的單獨設置變量。還要注意,你不需要轉義你在腳本行中使用的引號,只需輸入它就好像它只是一個文本文件(但是用引號括起來)。

我是一個After Effects腳本的新手,所以請更正,如果這是錯誤的某種方式。

+0

如果您需要傳遞許多參數,該怎麼辦?這個解決方案似乎有點麻煩。 – ariestav

+1

這是非常麻煩的,但它是最好的,我可以不創建一個臨時文件。我將它用於生成命令行的腳本,所以這不是什麼大問題,但是如果您只是手動從命令提示符運行它,它不會非常有用。 –