【JScript】ファイル一覧とディレクトリ一覧

サブディレクトリ内は再帰しません。

// パスを指定する。
var target = "D:/Book/";

// ファイル一覧とディレクトリ一覧を取得する。
enumFiles(target);

function enumFiles(target) {

    // ファイルを扱う準備を行う。
    var fso = new ActiveXObject("Scripting.FileSystemObject");

    // FileExistsの第1引数がファイルの場合
    if (fso.FileExists(target) == true) {
        WScript.Echo("ファイルです。");
    }

    // FileExistsの第1引数がファイル以外の場合
    if (fso.FileExists(target) == false) {
        WScript.Echo("ファイルではありません。");
    }

    // FolderExistsの第1引数がディレクトリの場合
    if (fso.FolderExists(target) == true) {
        WScript.Echo("ディレクトリです。");

        // ディレクトリ内の一覧を取得する。
        var all = fso.GetFolder(target);

        // ディレクトリ内の一覧からファイルを取得する。
        var eFile = new Enumerator(all.Files);
        for ( ; !eFile.atEnd(); eFile.moveNext()) {
            var file = eFile.item();
            WScript.Echo(file.Path);
        }

        // ディレクトリ内の一覧からサブディレクトリを取得する。
        var eDir = new Enumerator(all.SubFolders);
        for ( ; !eDir.atEnd(); eDir.moveNext()) {
            var dir = eDir.item();
            enumFiles(dir.Path);
        }
    }

    // FolderExistsの第1引数がディレクトリ以外の場合
    if (fso.FolderExists(target) == false) {
        WScript.Echo("ディレクトリではありません。");
    }
}