Windows環境でフォルダ内のファイル一覧を取得したい場面は多々あります。例えば、定期的なファイル管理や監査用の記録、またはバックアップ作業のために一覧をエクスポートしたい場合です。
PowerShellを使えば、簡単にフォルダ内のファイル一覧を取得し、そのままCSV形式で保存することができます。
この記事では、PowerShellでフォルダ内のファイル一覧を取得し、CSVに出力する方法を解説します。
基本コマンド
まずは基本となるコマンドです。
以下の例では、C:\Test
フォルダ内のファイル一覧を取得し、filelist.csv
に出力します。
各コマンドの意味
-
Get-ChildItem "C:\Test"
指定フォルダ内のファイルやフォルダを取得します。gci
やdir
と省略可能。 -
Export-Csv
取得結果をCSVに変換して保存します。 -
-NoTypeInformation
CSVの先頭に不要な型情報行を出力しないようにします。 -
-Encoding UTF8
CSVファイルの文字コードをUTF-8に指定します(文字化け防止)。
ファイルのみ取得する場合
フォルダ名は不要で、ファイルだけを取得したい場合は -File
オプションを指定します。
サブフォルダも含めて取得する場合
サブフォルダ内のファイルもまとめて一覧化するには -Recurse
を付けます。
1 |
Get-ChildItem "C:\Test" -File -Recurse | Export-Csv -Path "C:\Test\filelist_all.csv" -NoTypeInformation -Encoding UTF8 |
出力内容を絞り込む
CSVに出力する項目を指定することも可能です。例えば、フルパス、サイズ、更新日時 だけを出力する場合:
実行例イメージ
出力されるCSVファイルをExcelで開くと、以下のように一覧が表示されます。
FullName | Length | LastWriteTime |
---|---|---|
C:\Test\document1.txt | 1234 | 2025/09/17 10:30:00 |
C:\Test\image.png | 45678 | 2025/09/16 15:20:00 |
C:\Test\subfolder\report.docx | 9876 | 2025/09/15 09:10:00 |
まとめ
-
Get-ChildItem
でフォルダ内のファイル一覧を取得できる -
Export-Csv
を組み合わせることで、簡単にCSVへ出力可能 -
-File
、-Recurse
、Select-Object
を使えば用途に合わせて柔軟に一覧化できる
PowerShellを使えば、手作業でリスト化する手間を省き、自動化できるのでぜひ活用してみてください。