AE 脚本入门 3:批量更改素材路径
Original...About 1 min
AE 脚本入门 3:批量更改素材路径
需求
一个很常见的需求:我的项目素材库里放了大量素材,在文件系统中更改了它们的位置,导致在 AE 中缺失。如何重新链接素材文件?
前置知识:File
看过文档应该知道,素材是 FootageItem 对象。它有一个属性为 file,表示对应的源文件。这是只读的,无法修改。但是有 replace 方法,它接受一个 File 类型的参数,表示替换素材。该方法执行后,会更新素材的名称、长宽等属性。
如何创建这个 File 呢?根据 File 的文档,可以用 new File ([ path ] ); 来构造,这里 path 形式比较多样,可以是当前平台文件系统路径,也可以是 URI 格式。由详细说明可知,平台特定路径就是我们熟悉的 Driver:\path\to\file,并且可以通过 File 对象的 fsName 属性获取。
实操
下面开始动手了。首先要知道需要修复哪些素材的路径,最简单的方法应该是在素材库里选中,这样就可获取了。
var selection = app.project.selection; // Array of FootageItem, indexed [0..n-1]然后循环,对于每项,获取它的 file 的路径,替换成想要的,再构造一个新的 File 给 replace 掉即可。
完整代码如下:
app.beginUndoGroup("Fix footage paths");
var selection = app.project.selection;
for (var i = 0; i < selection.length; i++) {
var it = selection[i];
it.replace(new File(it.file.fsName.replace("\\assets\\", "\\assets\\images\\")));
}
app.endUndoGroup();




