【VBScript】指定フォルダ内のファイル情報を一覧出力する方法|更新日時・作成日時・サイズを取得!

VBScript

Windows環境でファイル管理をしていると、「このフォルダのファイル一覧を取得したい」「更新日時やサイズを確認したい」と思うことはありませんか? そんなときに役立つのが、VBScriptによるファイル情報の自動取得です。

今回は、指定したフォルダ配下のファイルについて、以下の情報を一覧で出力するVBScriptのサンプルコードを紹介します。

  • ファイル名
  • 作成日時
  • 更新日時
  • ファイルサイズ(バイト)

すぐに使えるよう、丁寧に解説していきます。

VBScriptとは?

VBScript(Visual Basic Script)は、Microsoftが開発した軽量スクリプト言語です。Windowsに標準搭載されており、インストール不要で使えるのが特徴です。

主な用途は以下の通り:

  • ファイル操作(コピー、削除、移動など)
  • アプリケーションの制御
  • 業務の自動化(バックアップ、ログ整理など)

PowerShellやPythonが主流になりつつありますが、VBScriptは「軽くてすぐ動く」「社内環境で使いやすい」といった利点があり、今でも多くの現場で活用されています。

ファイル情報を一覧出力するVBScript

それでは、実際のコードを見てみましょう。以下のスクリプトは、指定したフォルダ内のすべてのファイルについて、ファイル名・作成日時・更新日時・サイズを表示します。

サンプルコード

vbscript
Option Explicit

Dim folderPath, objFSO, objFolder, objFile
Dim message

folderPath = "C:\Test" ' ← ここを任意のフォルダパスに変更してください

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(folderPath) Then
    Set objFolder = objFSO.GetFolder(folderPath)

    message = "ファイル情報一覧(フォルダ:" & folderPath & ")" & vbCrLf & _
              "---------------------------------------------" & vbCr

    For Each objFile In objFolder.Files
        message = message & _
                  "ファイル名: " & objFile.Name & vbCrLf & _
                  "作成日時: " & objFile.DateCreated & vbCrLf & _
                  "更新日時: " & objFile.DateLastModified & vbCrLf & _
                  "サイズ(バイト): " & objFile.Size & vbCrLf & _
                  "---------------------------------------------" & vbCr
    Next
    WScript.Echo message
Else
    WScript.Echo "指定されたフォルダが存在しません!"
End If

実行方法

  1. メモ帳を開く
  2. 上記コードを貼り付ける
  3. list_files.vbs などの名前で保存(拡張子は .vbs
  4. 保存したファイルをダブルクリックして実行
■実行結果例

応用ポイント

このスクリプトは、以下のような場面で活用できます:

  • 定期的なファイル棚卸し:更新されていないファイルの洗い出し
  • ログファイルの確認:サイズが大きくなっているファイルの特定
  • バックアップ前のチェック:作成日時や更新日時を確認してからコピー

さらに、出力結果をCSV形式にして保存すれば、Excelでの分析も可能です。

CSV形式で保存するには?

以下のようにコードを変更すれば、結果をCSVファイルとして保存できます。

vbscript
Option Explicit

Dim folderPath, objFSO, objFolder, objFile
Dim outputFile
Dim objTextFile

folderPath = "C:\Test" ' ← ここを任意のフォルダパスに変更してください

outputFile = folderPath & "\file_list.csv" ' ← 出力するCSVファイル名


Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(folderPath) Then
    Set objFolder = objFSO.GetFolder(folderPath)

    Set objTextFile = objFSO.CreateTextFile(outputFile, True)
    objTextFile.WriteLine "ファイル名,作成日時,更新日時,サイズ(バイト)"

    For Each objFile In objFolder.Files
        objTextFile.WriteLine objFile.Name & "," & objFile.DateCreated & "," & objFile.DateLastModified & "," & objFile.Size
    Next

    objTextFile.Close
    WScript.Echo "CSVファイルを作成しました:" & outputFile
Else
    WScript.Echo "指定されたフォルダが存在しません!"
End If
このようにすれば、CSVファイルが作成され、CSVファイルをExcelで開いて並び替えやフィルタが可能になります。
■実行結果ファイル例

注意点

  • フォルダパスは正確に指定すること:存在しないパスだとエラーになります。
  • ファイル数が多いと時間がかかる:大量のファイルがある場合は、処理時間に注意。
  • 管理者権限が必要な場合もある:一部のフォルダではアクセス権限が必要です。

まとめ

VBScriptを使えば、Windows環境でのファイル管理が劇的に効率化できます。今回紹介したスクリプトは、初心者でもすぐに使える実用的な内容です。

  • ファイル一覧の取得
  • 作成日時・更新日時・サイズの確認
  • CSV形式での保存

これらを組み合わせれば、業務の自動化や情報整理が簡単に実現できます。ぜひ、試してみてください!

タイトルとURLをコピーしました