AfterEffects CS3/CS4/CS5編 使用されているフッテージファイルのレポートを出力する

今回はAfterEffects CS3/CS4/CS5で使用されているフッテージファイルのレポートを出力するスクリプトです。AfterEffectsにはプロジェクト内で使用されているフッテージのレポートを出力することができます。が、複数のプロジェクトファイルがある場合には、1つずつプロジェクトを開いて個別にレポートファイルを保存しなければなりません。
以下のスクリプトは選択したフォルダ内にある(サブフォルダ内にある)全てのプロジェクトファイルを開いてレポートファイルを保存するものです。


// サブフォルダ内にある全てのプロジェクトを開いて使用しているファイルのパスを保存する
(function(){
var savefile = File.saveDialog("保存するレポートファイル名を入れて下さい");
if (!savefile) return;
if (!savefile.open("w")){
alert("レポートファイルを保存できません");
return;
}
var folderObj = Folder.selectDialog("親フォルダを選択してください");
if (!folderObj) return; // キャンセルされたら処理しない
getFolder(folderObj);

// フォルダ内の一覧を取得
function getFolder(folderObj){
var fileList = folderObj.getFiles();
for (var i=0; i<fileList.length; i++){
if (fileList[i].getFiles) {
getFolder(fileList[i]);
}else{
if (fileList[i].name.indexOf(".aep") > -1){ // .aepの文字が含まれる場合に処理
app.open(fileList[i]);
savefile.writeln("プロジェクト名:"+File.decode(app.project.file.name));
for(var j=1; j<=app.project.items.length; j++){
//$.writeln(app.project.item(j).typeName);
if (app.project.item(j).typeName == "フッテージ"){
var iName = app.project.item(j).name;
var fName = app.project.item(j).file.fullName;
savefile.writeln(iName+" "+fName);
}
}
app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES);
savefile.writeln();
}
}
}
}
})();

これは日本語版でのみ動作し、英語版などでは動作しないので注意してください。マニュアルによれば

if (app.project.item(j).typeName == "フッテージ"){
 ↓
if (app.project.item(j).typeName == "Footage"){

のように変更すれば多分、英語版では動作すると思われます。

[サンプルをダウンロード]