所以,我遇到了一个让我有点困惑的问题。为了让你了解我想要实现的目标,我正在执行“后效应”,在目录中获取图像的路径,然后编写一个文本文件,将每个图像的路径作为新行保存。目前所有的工作几乎完全符合我的要求,问题是如何列出一个文件路径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();该问题存在于for (文件中的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“。这是有问题的,因此,如果我取消对for循环中的变量进行注释,最终会得到类似于以下内容的内容:
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,用于每个图像。
有人能发现我可能忽略的东西吗?
发布于 2020-10-15 05:41:08
for each (var file in files){看起来不像有效的JS语法。扩展脚本也是ES3,所以也没有[1,2,3].forEach(function(ele,i,arr){})。
试试看
for(var i = 0; i < files.length;i++){
var file = files[i];
// ...and so on
}发布于 2020-10-15 17:56:11
我不确定我的代码在这里是否是最有效的,但它是有效的,目前我只能要求这样做。
这就是最后为我工作的那块。
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();
};https://stackoverflow.com/questions/64357723
复制相似问题