0

我正在编写一个需要列出来自多个路径的文件的小应用程序。

我试图做这样的事情,但它只向我展示了第一条路径。

任何线索为什么会这样?

这是代码:

var wsh = new ActiveXObject("WScript.Shell");
var FSO = new ActiveXObject("Scripting.FileSystemObject");

function window.onload() {
    var s = "";
    var paths = FSO.OpenTextFile("bin\\paths.txt")

    while (!paths.AtEndOfStream) {
    content = paths.ReadLine();
    s += content;
    loadMediaFolders(s);
    }
    stat.innerHTML= s;
}

function loadMediaFolders(wathPath) {
var str = "";
    var folder = FSO.GetFolder(wathPath);
        var mainFolders = new Enumerator(folder.SubFolders);
            for (; !mainFolders.atEnd(); mainFolders.moveNext()) {

                var FolderPath = mainFolders.item().Path;

                var files = FSO.GetFolder(FolderPath);
                var sbFiles = new Enumerator(files.Files);

                for (; !sbFiles.atEnd(); sbFiles.moveNext()) {
                var FilleName = sbFiles.item().Name;

                str += FilleName;
                }
            }
    stat.innerHTML= str;
}

这是路径在文件中的存储方式:

F:\\stuff\\Media\\Movies\\
D:\\Media\\Movies\\
4

1 回答 1

1

在读取文件夹路径的循环中,您在将路径传递给loadMediaFolders(...). 第一个将起作用,因为s将是F:\stuff\Media\Movies\,第二次s将是F:\stuff\Media\Movies\D:\Media\Movies\

尝试这样的事情

while (!paths.AtEndOfStream) {
    content = paths.ReadLine();
    loadMediaFolders(content);
}

loadMediaFolders(...)已经将结果写入stat.innerHtml,因此也可以删除该行。请记住stat.innerHtml,当您真正想要连接结果时,您可能会覆盖所有loadMediaFolders(...).

于 2012-11-11T16:55:47.117 回答