フォルダ階層を出力するVBS


指定したフォルダの階層を出力するVBS
ファイルのサイズと最終更新日時も併せて出力する


★の箇所を適当に書き換えること

'------------------------------
'  フォルダ検索処理メイン
'------------------------------
'★定数の定義
RESULT_DIR = "D:\CDLIB"        '結果のテキスト出力先フォルダ
SEARCH_DIR = "D:\CDLIB"        '検索を行うフォルダ

'FileSystemObjectの生成
Set fso   = CreateObject("Scripting.FileSystemObject")
'結果のテキストを作成
Set resultfile = fso.CreateTextFile(RESULT_DIR & "\" & "result.txt",True)

'サブのメソッドを呼び出し
Call Sub_SearchDir(SEARCH_DIR,"")

msgbox "完了しました"

'------------------------------
'  検索サブ
'------------------------------
sub Sub_SearchDir(branchpath , deps)

Dim fsoFolder
Dim fsoSubFolder
Dim fsoFile

'フォルダオブジェクト取得
Set fsoFolder = fso.GetFolder(branchpath)

   'フォルダ内/ファイルループ
    For Each fsoFile In fsoFolder.Files

        'ファイルの情報を出力 (名前、サイズ、最終更新日時)
        resultfile.WriteLine deps & fsoFile.name & vbTab & _
                                    fsoFile.size & "byte" & vbTab & _
                                    fsoFile.DateLastModified

    Next

    'サブフォルダを検索
    Set branch = fso.getfolder(branchpath)
    For each f in branch.subfolders

        'フォルダ名を出力
        resultfile.WriteLine deps & f.name

        'さらにサブフォルダを探索
        Call Sub_SearchDir(branchpath & "\" & f.name , deps & "---")
    Next


End Sub


set branch = nothing
set fso = nothing


動作確認環境:Windows XP sp2