VBScriptでは「FileSystemObject」を使用することで様々なファイル操作を行えます。
前回は、特定のフォルダ配下にあるファイル一覧の取得方法をご紹介しましたが、今回は、サブフォルダも含めて、再帰的にファイル一覧を取得する方法を解説します。
早速ソースコードと使い方を説明します。
使い方は簡単で、5行目の変数[fileListPath]にファイルリストを取得したいフォルダのフルパスを記述して実行するだけです。
Option Explicit
' ファイル一覧を取得するパス
Dim fileListPath
fileListPath = "C:\workspace\VBScript"
' ファイルシステムオブジェクトの作成
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' ファイル一覧の取得
Call GetFileList(fso.GetFolder(fileListPath))
' ファイルシステムオブジェクトの破棄
Set fso = Nothing
' 処理終了
WScript.Quit
' ファイル一覧の取得関数
Function GetFileList(Byval targetPath)
Dim folder, file
' フォルダが存在する場合は、そのフォルダ配下を探索する
For Each folder In targetPath.SubFolders
GetFileList(folder)
Next
' ファイル一覧の表示
For Each file In targetPath.files
MsgBox(file)
Next
End Function
実行結果としては、取得したファイル名を単純にメッセージボックスで表示しています。
表示するだけでは利便性が悪いので、次回は、テキストに出力する方法をご紹介したいと思います。
コメント