2014-02-20 2 views
4

명령 줄에서 Adobe AE extendscript를 실행하려고합니다. "-r"인수를 사용하고 스크립트를 잘 실행할 수 있습니다. 그러나 스크립트에 인수를 전달할 수 있습니까?Adobe After Effects 스크립트 - 명령 줄에서 스크립트를 실행하고 인수를 전달하는 방법을 확장합니다?

내가 명령 줄에서이 작업을 실행하는 경우처럼, :

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

것이 가능 얻을 "안녕하세요"내 AutomateSetup.jsx 스크립트에 그? 나는 잠시 인터넷 검색을 해왔고 이것에 대한 해결책을 찾을 수 없다.

+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

이 질문을 제기하고 파일을 쓰지 않으려는 사람들에게 AfterEffects 프로그램에 대한 인수를 스크립트로 실행하는 -s 스위치를 사용하여 인수를 전달할 수 있습니다. 예를 들어, 다음 (윈도우 cmd를) 수행 할 수 있습니다

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

당신이 수 후 액세스 myArg을 당신이 evalFile 명령에서 실행되는 스크립트. 이렇게하면 명령 줄 인수가 포함 된 단일 문자열을 전달하거나 필요한 것에 개별 변수를 설정하고 설정할 수 있습니다. 또한 스크립트 행에서 사용하는 따옴표를 이스케이프 할 필요가 없다는 점에주의하십시오. 단지 텍스트 파일 인 것처럼 입력하십시오 (단, 따옴표로 묶은 행을 둘러 쌀 수 있음).

저는 After Effects 스크립팅의 초심자이므로 어떤면에서 이것이 잘못된 경우 수정하십시오.

+0

많은 인수를 전달해야하는 경우에는 어떻게해야합니까? 이 솔루션은 약간 성가시다. – ariestav

+1

매우 귀찮은 일이지만 임시 파일을 만들지 않고서는 내가 생각해 낼 수있는 최선의 방법이었습니다. 커맨드 라인이 생성 된 스크립트에이 스크립트를 사용 했으므로 큰 문제는 아니지만 명령 프롬프트에서 수동으로 실행하는 경우에는별로 유용하지 않습니다. –

관련 문제