• ベストアンサー

バッチファイルでフォルダ内のファイル数をカウントしたい

こんにちは。よろしくお願いします。 WindowsServer2003環境で、 バッチコマンドで以下のことをしたいと思っています。 (1)特定のフォルダに存在するファイル数をカウント (2)既定の数あれば何もせず終了、数に相違があればエラーを返す。 (エラーはエラーレベルとSEND MESSAGEの出力) 既定の数は常に決まった数です。 やりたいことは簡単なのですが、 DOSコマンドだけだと方法が思いつきません。。。 VBScriptなどを使わないと無理でしょうか。。。

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

  • ベストアンサー
  • shukugawa
  • ベストアンサー率30% (80/264)
回答No.1

WindowsServer2003の環境がないで、XPのコマンドプロンプトで作ってみました^^; 参考になればいいですが・・・ 規定の数はとりあえず10としています。 カレントディレクトリの(ディレクトリ含む)ファイルをカウントしています。 @echo off set i=0 for /D %%f in (*) do set /a i=i+1 if %i% lss 10 goto Short: echo ファイルが%i%個あります、 echo ファイルが10個以上のときの処理を行います。 goto Exit: :Short echo ファイルが%i%個しかありません、 echo ファイルが10個未満のときの処理を行います。 :Exit

nottikun
質問者

お礼

なるほど!出来ました。 ポイントはfor文ですね。 DOSコマンドは奥が深そうですね。 どうも有り難うございます。

関連するQ&A