VBスクリプトを使って特定フォルダ配下のファイル一覧を取得する方法

特定フォルダ配下のファイル一覧を取得するスクリプトです。
例えば以下の例だと[C:\Windows]フォルダ配下のファイル一覧を取得して表示します。

Call Query_Directory("C:\Windows")

Sub Query_Directory(PATH)
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	Set objFOLDERS = objFSO.GetFolder(PATH)
	
	'先にファイルを表示する
	For Each FILE In objFOLDERS.Files
	    Wscript.Echo FILE
	Next
	
	'フォルダがあればフォルダの中をさらに展開
	For Each Folder In objFOLDERS.SubFolders
		Wscript.Echo Folder
		Query_Directory(Folder)
	Next
	
	Set objFSO = Nothing
	Set objFOLDERS = Nothing
End Sub

指定した階層までディレクトリ一覧を取得する場合は以下のように指定します。
Query_Directoryの後ろの数値が0の場合は1階層目まで、1の場合は2階層目まで取得出来ます。

Call Query_Directory("C:\Windows",0)

Sub Query_Directory(PATH,i)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	Set objFOLDERS = objFSO.GetFolder(PATH)

	'先にファイルを表示する
	For Each FILE In objFOLDERS.Files
	    'Wscript.Echo FILE
	Next
	
	'フォルダがあればフォルダの中をさらに展開
	For Each Folder In objFOLDERS.SubFolders
		Wscript.Echo Folder
		If i > 0 Then
			Call Query_Directory(Folder,i-1)
		End If
	Next
	Set objFSO = Nothing
	Set objFOLDERS = Nothing
End Sub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です