前回は、サブフォルダ配下も含めたファイル一覧をテキストで出力する方法をご紹介しましたが、今回は、CSV形式で出力する方法をご紹介します。
また、ファイル情報を取得する際に使えるプロパティについてもご紹介したいと思います。
ソースコード
こちらがソースコードになります。
個々の機能の解説については以下をご覧ください。
Option Explicit
' 出力するファイルリスト
Dim fileListName
fileListName = ".\Sample.txt"
' ファイル一覧を取得するパス
Dim fileListPath
fileListPath = "C:\workspace\VBScript"
' ファイルシステムオブジェクトの作成
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' ファイルの存在チェック
If(fso.FileExists(fileListName))Then
' ファイルの削除
fso.DeleteFile fileListName
End If
' テキストファイルのオープン(追記モード)
Dim fileList
Set fileList = fso.OpenTextFile(fileListName, 8, True)
' ファイル一覧の取得
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
fileList.WriteLine(file.ParentFolder & "," & file.Name & "," & file.Size & "," & file.DateLastModified)
Next
End Function
実行結果
サンプルの実行結果になります。
パス、ファイル名、ファイルサイズ、更新日時がCSV形式で出力されます。
C:\workspace\VBScript\dir1\dir2,dir2.txt,0,2022/01/16 1:09:33 C:\workspace\VBScript\dir1,dir1.txt,0,2022/01/16 1:09:23 C:\workspace\VBScript\folder1,folder1.txt,0,2022/01/16 1:10:14 C:\workspace\VBScript,function.vbs,524,2022/02/21 15:31:21 C:\workspace\VBScript,getFileList.vbs,1090,2022/03/07 4:52:31 C:\workspace\VBScript,main.vbs,350,2022/02/21 15:32:16 C:\workspace\VBScript,Sample.txt,364,2022/03/07 4:52:48 C:\workspace\VBScript,Test.vbs,853,2022/01/18 0:17:25
使用可能なプロパティ
よく使用するプロパティの一覧になります。
名前 | 説明 | 取得例 |
---|---|---|
DateCreated | ファイルの作成日時 | 2022/01/16 1:09:33 |
DateLastAccessed | ファイルのアクセス日時 | 2022/01/16 1:09:33 |
DateLastModified | ファイルの変更日時 | 2022/01/16 1:09:33 |
Drive | ファイルがあるドライブ名 | C: |
Name | ファイル名 | Test.vbs |
ParentFolder | パス | C:\workspace\VBScript |
Path | フルパス | C:\workspace\VBScript\Test.vbs |
Size | ファイルサイズ | 1234 |
Type | ファイルの種類 | VBScript Script ファイル |
コメント