首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我很困惑,每个循环都有AE扩展脚本的问题

我很困惑,每个循环都有AE扩展脚本的问题
EN

Stack Overflow用户
提问于 2020-10-14 16:30:19
回答 2查看 226关注 0票数 0

所以,我遇到了一个让我有点困惑的问题。为了让你了解我想要实现的目标,我正在执行“后效应”,在目录中获取图像的路径,然后编写一个文本文件,将每个图像的路径作为新行保存。目前所有的工作几乎完全符合我的要求,问题是如何列出一个文件路径AE。我觉得我错过了一些简单的东西,但下面是我遇到问题的代码块:

代码语言:javascript
复制
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文件)部分中。如果我按原样运行它,我将得到一条类似于下面列出的路径:

代码语言:javascript
复制
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循环中的变量进行注释,最终会得到类似于以下内容的内容:

代码语言:javascript
复制
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,用于每个图像。

有人能发现我可能忽略的东西吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-15 05:41:08

代码语言:javascript
复制
   for each (var file in files){

看起来不像有效的JS语法。扩展脚本也是ES3,所以也没有[1,2,3].forEach(function(ele,i,arr){})

试试看

代码语言:javascript
复制
for(var i = 0; i < files.length;i++){
    var file = files[i];
    // ...and so on
}
票数 0
EN

Stack Overflow用户

发布于 2020-10-15 17:56:11

我不确定我的代码在这里是否是最有效的,但它是有效的,目前我只能要求这样做。

这就是最后为我工作的那块。

代码语言:javascript
复制
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();
    
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64357723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档