【Windowsバッチファイル(.bat)】ファイルサイズ一覧を取得する方法(CSV出力)


この記事はプロモーションを含みます。

Windows

ホーム > コマンドプロンプト・バッチファイル リファレンス

指定フォルダ内のすべてのファイルのフルパスとサイズ(バイト)をCSV形式で取得するバッチファイルの作成方法を紹介します。

はじめに

大量のファイルのサイズを一覧で確認したい場合、エクスプローラーでは手間がかかります。
この記事では、Windowsのバッチファイルを使って、指定フォルダ以下のすべてのファイルのフルパスとファイルサイズをCSV形式で出力する方法を解説します。

バッチファイルの内容

以下のコードをテキストファイルに保存し、拡張子を .bat に変更することでバッチファイルとして使えます。

@echo off
setlocal

rem 対象ディレクトリを指定(例:C:\Test)
set "TARGET_DIR=C:\Workspace"

rem 出力ファイル名(任意)
set "OUTPUT_FILE=file_sizes.txt"

rem 出力ファイルを初期化
echo ファイルパス,ファイルサイズ> "%OUTPUT_FILE%"

rem ファイルの情報を出力
for /r "%TARGET_DIR%" %%f in (*) do (
	echo %%f,%%~zf>> "%OUTPUT_FILE%"
)

echo 完了: %OUTPUT_FILE% に結果を出力しました。
endlocal
pause

実行手順

  1. メモ帳などにバッチコードをコピーして貼り付けます。
  2. ファイル名を file_list.bat として保存します(拡張子に注意)。
  3. TARGET_DIR の部分を、サイズを調べたいフォルダのパスに書き換えます。
  4. ダブルクリックでバッチファイルを実行します。
  5. 同じフォルダに file_sizes.txt が作成され、すべてのファイルのパスとサイズがCSV形式で出力されます。

出力例

バッチの出力例です。

ファイルパス,ファイルサイズ
C:\Workspace\example.txt,2048
C:\Workspace\subfolder\image.png,54321

応用編

特定の拡張子のみ対象にしたい場合は以下のように記述します。
(ここでは、例として.txtファイルを対象にしています)

for /r "%TARGET_DIR%" %%f in (*.txt) do (
	echo %%f,%%~zf>> "%OUTPUT_FILE%"
)

おわりに

シンプルなバッチファイルを使うことで、フォルダ内のファイルサイズを効率的に取得できます。
ログ出力や容量管理の自動化にも応用可能です。ぜひご活用ください。

コメント

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