1

我试图弄清楚如何从命令行执行 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

什么也没有发生。该程序虽然被打开,但似乎从未调用过该脚本。

有人想通了这个吗?

4

5 回答 5

5

这实际上记录在这里

您现在应该能够将 DoScriptFile(而不是 DoScript)与 Applescript 一起使用。就像是:

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

您还可以通过将此方法与 MentalFish 提到的方法混合使用外部参数来调用特定函数

  • 制作一个applescript [在这种情况下称为 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)
    
于 2013-05-16T21:46:46.723 回答
1

显然,Mac 上的 AE 不支持脚本的命令行执行: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
于 2011-07-04T07:50:28.633 回答
1

你可以把它放在启动文件夹中(我用的是windows,win里面的文件夹是Adobe After Effects CS4/Support Files/Scripts/Startup)。该文件夹中的脚本在 AfterEffects 启动时执行。

可能有帮助?

于 2011-09-30T01:32:34.723 回答
1

我想在这里提出一些很棒的答案,尽管可能已经过时了。这段代码:

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

对于 applescript 文件有效,POSIX 代码无效。然后在 Mojave 的终端中运行它,如下所示:

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

这对我最有效。

于 2019-02-21T05:31:43.613 回答
0

我得到了它的工作:

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

似乎我所要做的就是摆脱'r'标志。

祝你好运!

于 2011-06-07T23:21:20.363 回答