- PR -

バッチ処理実行時に条件を分岐させる方法について

1
投稿者投稿内容
Daisy
会議室デビュー日: 2006/02/17
投稿数: 3
投稿日時: 2006-04-10 15:37
実行バッチ及び呼び出しバッチ共に同一ディレクトリ内にあるtxtファイルより
指定の文字列を検索し
指定の文字列が無かった場合は、バッチファイルを実行する
という内容の条件分岐を実装したいと存じます。
超初心者の私にご教授願えますでしょうか
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2006-04-10 15:58
コマンドライン リファレンス
じゃく
会議室デビュー日: 2006/04/11
投稿数: 3
投稿日時: 2006-04-11 11:47
>実行バッチ及び呼び出しバッチ共に同一ディレクトリ内にあるtxtファイルより
>指定の文字列を検索し
>指定の文字列が無かった場合は、バッチファイルを実行する
>という内容の条件分岐を実装したいと存じます。

OSは何でしょうね。一応2000/XPとして回答します。

おたずねの内容には find コマンドを使います。
findコマンドで検索した文字列が存在した場合、直後の errorlevel が 0 になります。
(一致しない場合は 1 になるようです)
goto :EOF でバッチを終了できます。
したがって以下のような判定処理を実行したいバッチの先頭に記述すれば判定できると思います。
(指定の文字列が無かった場合は、バッチファイルを実行するの裏返しで、指定の文字列があったらバッチを終了する記述にしています)

find "指定の文字列" 同一ディレクトリ内にあるtxtファイル.txt
if %errorlevel% EQU 0 goto :EOF
(以降に実行したいバッチを続けて書く)

1

スキルアップ/キャリアアップ(JOB@IT)