• ベストアンサー

バッチファイルでファイルサイズの合計を求める

こんにちは。パソコン初心者なのですが、現在MS-DOSのバッチファイルで、ファイルのサイズの合計を求めるものを作っているのですが、うまくいきません。分かる方がいれば教えていただけませんでしょうか。 現在 set i=0 for %%1 in (*.*) do (set /a %%i=%%i+%%~z1) のように書いているのですが、「オペラントがありません」 と表示されてしまいます。 カレントディレクトリのすべてのファイルのサイズだけを合計したいのですが、どのようにやればよいのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.3

こんにちは。 環境変数の参照方法が間違っていますね。 set i=0 for %%1 in (*.*) do set /a i=i+%%~z1 set i こんな感じでしょうか。set /a の時は環境変数を(%などつけずに)そのまま式に書くことができます。最後のset i は環境変数iの設定値を表示しています。

satuki1969
質問者

お礼

教えていただいた通りにやりましたらうまくいきました。 ありがとうございました。

その他の回答 (2)

回答No.2

ファイルサイズのみの抽出は無理だと思うのですが。 以下の方法ではどうでしょうか? dir > test.txt find "ファイル" test.txt 一度ディレクトリの内容をtest.txtに吐き出し、ディレクトリ内のファイル数と使用容量が表示できます。

  • SEWANIN
  • ベストアンサー率34% (203/592)
回答No.1

  satuki1969 様  カレントディレクトリとはフォルダのことを  指しておられるのでしたらそのフォルダを  右クリックしてプロパティから  そのフォルダに収容されているサイズの合計を  ご覧になれます。  敢えてDOSのバツチファイルをお作りにならなくても  宜しいかと存じます。