如何解决我很困惑,每个循环都有AE Extendscript问题
因此,我在这里遇到了一个让我有些困惑的问题。为了让您了解我要完成的工作,我正在After Effects中执行此操作,以获取目录中图像的路径,然后编写一个文本文件,将每个图像的路径作为新行保存。 。当前,一切都几乎可以按照我的要求工作,而问题出在AE如何列出文件路径。我感觉好像缺少了一些简单的东西,但这是我遇到的一段代码:
var saveTextFile = File(savePath + "images.txt");
if(saveTextFile.exists)
saveTextFile.remove();
saveTextFile.encoding = "UTF8";
saveTextFile.open("e","TEXT","????");
var files = Folder (savePath).getFiles("*.PNG");
if (files.length == 0) return;
for each (var file in files){
//var drive = '/x';
//var fixName = fileName.replace(drive,'X:');
//name = fixName.toString();
//$.writeln(name)
saveTextFile.writeln(('file ' + "'" + file.toString() + "'"));
}
saveTextFile.close();
每个(文件中的var文件)部分的问题均存在。如果按原样运行,则最终得到的路径类似于此处列出的路径:
file '/x/_CURRENT_/sequence_PNG_00000.png'
file '/x/_CURRENT_/sequence_PNG_00001.png'
file '/x/_CURRENT_/sequence_PNG_00002.png'
file '/x/_CURRENT_/sequence_PNG_00003.png'
file '/x/_CURRENT_/sequence_PNG_00004.png'
file '/x/_CURRENT_/sequence_PNG_00005.png'
现在这很好,除了它读取驱动器号为“ / x”的事实。这是有问题的,因此,如果我在每个循环中取消注释变量,则最终会得到类似以下内容:
file 'X:/_CURRENT_/sequence_PNG_00000.png'
file 'X:/_CURRENT_/sequence_PNG_00000.png'
file 'X:/_CURRENT_/sequence_PNG_00000.png'
file 'X:/_CURRENT_/sequence_PNG_00000.png'
file 'X:/_CURRENT_/sequence_PNG_00000.png'
file 'X:/_CURRENT_/sequence_PNG_00000.png'
这很好,因为它在字符串中正确格式化了X驱动器...。但是,它为每个图像将字符串中的增量数字重命名为00000.png。
有人可以发现我可能忽略的地方吗?
解决方法
for each (var file in files){
看起来不像有效的JS语法。另外Extendscript是ES3,因此也没有[1,2,3].forEach(function(ele,i,arr){})
。
尝试
for(var i = 0; i < files.length;i++){
var file = files[i];
// ...and so on
}
,
我不确定我的代码在这里是否最有效,但它是否有效,目前我只想问一下。
这就是最终为我工作的部分。
var saveTextFile = File(savePath + "images.txt");
if(saveTextFile.exists)
saveTextFile.remove();
saveTextFile.encoding = "UTF8";
saveTextFile.open("e","TEXT","????");
var files = Folder (savePath).getFiles("*.PNG");
if (files.length == 0) return;
for(var i = 0; i < files.length;i++){
var file = files[i];
var drive = '/x';
var fileIt = file.toString();
var fixName = fileIt.replace(drive,'X:');
$.writeln(fixName);
saveTextFile.writeln(('file ' + "'" + fixName + "'"));
}
saveTextFile.close();
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。