【bat】バッチファイルで指定したファイルのサイズを取得する方法

バッチファイルを使って特定のファイルのサイズを取得する方法について紹介します。このスクリプトを利用すれば、ファイルサイズを簡単に取得し、後続の処理に活用できます。

スクリプトの概要

以下のバッチスクリプトを使用することで、指定したファイルのサイズをバイト単位で取得し、変数に格納して表示できます。

@echo off
setlocal

REM ファイル名を指定
set "filename=C:\path\to\your\file.txt"

REM ファイルのサイズを取得し、変数に格納
for %%A in ("%filename%") do set "filesize=%%~zA"

REM ファイルサイズを表示
echo File size of %filename% is %filesize% bytes.

endlocal
pause

@echo off
コマンドエコーをオフにして、バッチファイル実行中のコマンドが表示されないようにします。

setlocal
変数のスコープをこのバッチファイルに限定し、他のバッチファイルやコマンドプロンプトに影響を与えないようにします。

set “filename=C:\path\to\your\file.txt”
取得したいファイルのパスを指定します。このパスを変更して、目的のファイルを指定してください。

for %%A in (“%filename%”) do set “filesize=%%~zA”
forループを使用して、指定したファイルのサイズを取得し、filesize変数に格納します。%%~zAはファイルのサイズを取得するための修飾子です。

echo File size of %filename% is %filesize% bytes.
取得したファイルサイズを表示します。

endlocal
setlocalによって設定された変数のスコープを終了します。

pause
ユーザーがキーを押すまで待機します。これにより、結果が確認できるようになります。

実際の利用シーン

このスクリプトは、ファイルのサイズを確認する必要がある多くのシナリオで役立ちます。例えば、大量のファイルを処理するスクリプトで、サイズが一定以上のファイルを抽出したり、ログファイルのサイズを監視したりする場合に便利です。