• ベストアンサー

コマンドプロンプトによるフォルダ内のファイル存在有無

バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか? DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。 どのようにしたら良いのでしょうか?教えてください。

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

  • ベストアンサー
  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

コマンドプロンプトで、「DIR /?」と入力すれば、DIRコマンドのヘルプが表示されます。 その記述によれば 「/A」属性スイッチで、必要な属性を持つファイルを指定できます。

kohi343
質問者

お礼

DIR フォルダ名 /a:-d でフォルダにファイルが存在するかどうか調べることができました。 DIR C:\test\ /a:-d ERRORLEVELが以下のように返します。 1: ファイルなし 0: ファイルあり

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

@echo off for %%F in (test\*.*) do goto FILE_EXIST echo ファイルが無い goto End :FILE_EXIST echo ファイルが有る :End

kohi343
質問者

お礼

for を使った方法を教えていただいてありがとうございます。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

@echo off if exist c:\test\*.* goto AnyFileExist ファイルが1つも無い時の処理 goto End :AnyFileExist 何かのファイルがあった時の処理 :End これで「純粋に、c:\test\に何か『ファイルが』あった時だけ」を判定出来ます。

kohi343
質問者

補足

if exist c:\test\*.* で試したところ、フォルダ内に何もファイルが無いときでも真になってしまうのですが、どうすればよいでしょうか?

関連するQ&A