Windowsのコマンドプロンプトにてバッチでファイルサイズを取得する方法は以下です。
for %%i in (ファイル名) do set 変数=%%~zi
@echo off rem 任意のファイル名を指定 set file_name = WpfApp.sln for %%i in (%file_name%) do set file_size=%%~zi echo filesize = %file_size%
あまりにもコマンドプロンプトが独特すぎて、いきなりこれを提示されたところで受け入れ難いですね。
「なぜ、ファイル名を取得するのにforコマンドを使うの?」
「%%~ziってなんのこと?」
と疑問だらけになります。
まずforコマンドの構文としてfor %%i in 〜の%%iは変数のことです。バッチファイル上では%%iと%を二つ記述する必要があります。
そして%%~ziですが、%%~ziというのはforコマンド上での特殊変数です。ファイルサイズを返します。
この特殊変数をfile_size変数にセットしています。
なので変数名が%%rだったら%%~zrでファイルサイズを取得することになります。
for %%r in (%file_name%) do set file_size=%%~zr
で取得しても良いのです。