【bat】バッチファイルで指定フォルダ内のファイルをサイズ順に並べてログ出力する方法

バッチファイルを使えば、手軽にファイルサイズ順の一覧を作成してログとして保存できます。定期的なファイル整理や、容量チェックの自動化にも活用できるでしょう。 bat

Windowsのバッチファイルでは、dir コマンドを活用することで、指定フォルダ内のファイルをサイズ順に並べて一覧表示し、ログファイルに出力することが可能です。本記事ではその具体的な方法をご紹介します。

ファイルをサイズ順に並べる基本構文

Windowsには、dir コマンドに /O-S オプションを付けることで、「サイズの大きい順」に並べることができます。逆に /OS で「サイズの小さい順」となります。

dir /S /O-S /A:-D "C:\TargetFolder"

オプションの意味

オプション 意味
/S サブフォルダも含めて表示
/O-S サイズの大きい順に並べる
/A:-D ファイルのみ表示する

ログファイルに出力する方法

出力結果をテキストファイルに保存するには、リダイレクト(>)を使います。

dir /S /O-S /A:-D "C:\TargetFolder" > "C:\log\file_size_log.txt"

>:出力を上書き
>>:出力を追記

実用例:バッチファイルの全体コード

以下は、対象フォルダを指定して、サイズ順に並べたファイル一覧をログ出力するバッチファイルの例です。

@echo off
set "TARGET_DIR=C:\TargetFolder"
set "LOG_FILE=C:\log\file_size_log.txt"

echo ファイルサイズ順に並べた一覧を出力します…
dir /S /O-S /A:-D "%TARGET_DIR%" > "%LOG_FILE%"

echo 出力完了:%LOG_FILE%
pause

応用:今日の日付をファイル名に使う

日付付きのログファイルを作成するには、以下のようにして日付をファイル名に含めることもできます。

@echo off
set "TARGET_DIR=C:\TargetFolder"
set "DATE=%DATE:/=_%"
set "LOG_FILE=C:\log\file_size_log_%DATE%.txt"

dir /S /O-S /A:-D "%TARGET_DIR%" > "%LOG_FILE%"

まとめ

バッチファイルを使えば、手軽にファイルサイズ順の一覧を作成してログとして保存できます。定期的なファイル整理や、容量チェックの自動化にも活用できるでしょう。