242) 下層フォルダにファイルが存在するかどうか調べるには? COMO 2003/05/20(火) 00:45 |
|
バッチファイル内で指定ファイルの有無によって分岐させる場合、 下層フォルダーを対象に存在確認をすることは可能でしょうか? 具体的には C:\DOS\ 以下のフォルダに *.jpg がある場合タスクを実行 ない場合、終了。 DIR /S でファイルが見つかった場合と見つからなかった場合の終了コードに違いがあればこのような処理ができそうなのですが、 正確な戻り値がわかりません。 わかる方がいらっしゃいましたら、どうかよろしくお願い致します (OS WINDOWS2000 MS-DOS 5.00) |
|
243) Re:下層フォルダにファイルが存在するかどうか調べるには? YanaKen 2003/05/20(火) 07:23 |
|
COMOさん、こんにちは。 >(OS WINDOWS2000 MS-DOS 5.00) Windows2000とDOS5の両方の環境で実行したいという意味でしょうか。 Windows2000では FORコマンドに /R (再帰)スイッチがありますので、次のようにすることで目的は達せられると思います。DOS5ではむずかしいんじゃないかな。 @echo off SET FOUND=0 FOR /R C:\DOS %%I IN (*.JPG) DO SET FOUND=1 IF %FOUND%==0 ECHO NOT FOUND IF %FOUND%==1 ECHO FOUND. YanaKen [個人homepage] [@pay導入について] [YanaKenの@pay窓口] |
|
246) Re2:下層フォルダにファイルが存在するかどうか調べるには? COMO 2003/05/20(火) 18:19 |
|
YanaKenさん、ご回答ありがとうございました。 目的の操作を達成することができました! オンラインヘルプを参照してみたところ、FORコマンドの便利な拡張機能を知ることができました。まだまだ、勉強不足だったようです。 今後ともよろしくお願いします。 |
|
247) Re2:下層フォルダにファイルが存在するかどうか調べるには? Hellcat 2003/05/20(火) 22:16 |
|
http://www.vector.co.jp/soft/dl/win95/util/se010511.html |
|
>DOS5ではむずかしいんじゃないかな。 手許にあったunixライクツールでテストしてみたところ、以下のような方法でいけそうです。 findf C:/MASM/ASSMBL -type f -name "*.*" -exit 255 上記の例は「Cドライブの\MASM\ASSMBLディレクトリ及びそのサブディレクトリに何かファイル(システム属性や隠し属性のファイルも含む。)が存在したらリターンコードに255を設定する」というものです。 findfコマンドはhttp://www.vector.co.jp/soft/dl/win95/util/se010511.html にあります。 【確認OS】 MS-DOS ver.5.0AH |
|
this article refers Vector Soft Library..
|