After Effects (Mac) выполняет скрипт из терминала - PullRequest
1 голос
/ 02 мая 2011

Я пытаюсь выяснить, как выполнить сценарий After Effects из командной строки.

Официальная документация гласит:

Example (for Windows):
afterfx -r c:\script_path\example_script.jsx

И ничего для Mac.Однако я пытаюсь:

open -b com.adobe.AfterEffects --args -r /script_path/example_script.jsx

И ничего не происходит.Хотя программа открывается, но кажется, что скрипт никогда не вызывается.

Кто-нибудь понял это?

Ответы [ 5 ]

5 голосов
/ 17 мая 2013

Это на самом деле задокументировано здесь

Теперь вы должны иметь возможность использовать DoScriptFile (вместо DoScript) с Applescript. Что-то вроде:

tell application "Adobe After Effects CS6"
  DoScriptFile path/to/file.jsx
end tell

Вы также можете вызвать определенную функцию, используя внешние параметры, смешав этот метод с упомянутым MentalFish

  • создайте яблочный скрипт [в данном случае он называется ASfile.scpt]:

    on run argv
        set SomeName to (POSIX file (item 1 of argv))
        tell application "Adobe After Effects CS6"
            DoScriptFile SomeName
            DoScript item 2 of argv
       end tell
    end run
    
  • из python и при условии, что у вас есть 64-битная машина, вы можете позвонить:

    ae = subprocess.call('arch -x86_64 osascript /AppleScriptLocation/ASfile.scpt %s/SomeScript.jsx "SomeFunction(\'%s\')"' %( ScriptsFolder, ParameterFromPython),shell=True)
    
1 голос
/ 04 июля 2011

Очевидно, что AE на Mac не поддерживает выполнение сценариев из командной строки: http://www.aenhancers.com/viewtopic.php?f=8&t=1903

Это работает, создайте AppleScript, который говорит AE запустить скрипт через команду DoScript:

set test to (POSIX file ("/Users/username/Desktop/test.jsx"))
tell application "Adobe After Effects CSYourVersionNumber"
    DoScript test
end tell

... и запустить скрипт через командную строку как таковой (чтобы запустить его в 32-битном режиме):

arch -i386 osascript test.applescript

Если вы хотите передать параметр запускаемого скрипта, вы можете сделать это следующим образом:

on run argv
    set test to (POSIX file (item 1 of argv))
    tell application "Adobe After Effects CSYourVersionNumber"
        DoScript test
    end tell 
end run

Запустите скрипт и передайте путь к файлу jsx:

arch -i386 osascript test.applescript /Users/username/Desktop/test.jsx
1 голос
/ 30 сентября 2011

вы можете поместить его в папку автозагрузки (я использую windows, папка в win - Adobe After Effects CS4 / Файлы поддержки / Скрипты / Автозагрузка).Скрипты в этой папке выполняются при загрузке AfterEffects.

Может быть полезно?

1 голос
/ 08 июня 2011

Я понял, что работает с этим:

open -b com.adobe.AfterEffects --args /Users/[user]/Desktop/[folder]/file.aep

Кажется, все, что мне нужно было сделать, это избавиться от флага 'r'.

Удачи!

0 голосов
/ 21 февраля 2019

Я хотел бы добавить сюда некоторые ответы, где они великолепны, хотя, возможно, и устарели.Этот код:

on run argv
    tell application "Adobe After Effects CC 2018"
        DoScriptFile item 1 of argv
    end tell
end run

Для файла appleScript работает код POSIX - нет.Затем запуск его в терминале для Мохаве работает так:

osascript AppleScriptAETest.scpt "/Users/.../Your/file/here.jsx"

Это лучше всего работает для меня.

...