0

複数のパスからファイルを一覧表示する必要がある小さなアプリを作成しています。

Iv はこのようなことをしようとしましたが、最初のパスしか表示されません。

それはなぜですか?

コードは次のとおりです。

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\し、2 回目sは になりますF:\stuff\Media\Movies\D:\Media\Movies\

このようなことを試してください

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

loadMediaFolders(...)はすでに結果をstat.innerHtmlに書き込んでいるので、その行も削除できます。結果stat.innerHtmlloadMediaFolders(...).

于 2012-11-11T16:55:47.117 に答える