- ベストアンサー
コマンドプロンプトによるフォルダ内のファイル存在有無
バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか? DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。 どのようにしたら良いのでしょうか?教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コマンドプロンプトで、「DIR /?」と入力すれば、DIRコマンドのヘルプが表示されます。 その記述によれば 「/A」属性スイッチで、必要な属性を持つファイルを指定できます。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.3
@echo off for %%F in (test\*.*) do goto FILE_EXIST echo ファイルが無い goto End :FILE_EXIST echo ファイルが有る :End
質問者
お礼
for を使った方法を教えていただいてありがとうございます。
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.2
@echo off if exist c:\test\*.* goto AnyFileExist ファイルが1つも無い時の処理 goto End :AnyFileExist 何かのファイルがあった時の処理 :End これで「純粋に、c:\test\に何か『ファイルが』あった時だけ」を判定出来ます。
質問者
補足
if exist c:\test\*.* で試したところ、フォルダ内に何もファイルが無いときでも真になってしまうのですが、どうすればよいでしょうか?
お礼
DIR フォルダ名 /a:-d でフォルダにファイルが存在するかどうか調べることができました。 DIR C:\test\ /a:-d ERRORLEVELが以下のように返します。 1: ファイルなし 0: ファイルあり