• 締切済み

バッチファイルのループ処理の質問です。

バッチファイルのループ処理の質問です。 バッチファイルでサーバにセキュリティーパッチをインストールしたいのですが、 一件しかインストール出来ません。 ---------------------------------------------- @echo on setlocal set SrcDir=\\192.168.11.5\temp\ for %%i in (%SrcDir%*.msu) do ( %%i /quiet /norestart >>Instarll_log.log IF ERRORLEVEL 3010 GOTO ReqReboot IF ERRORLEVEL 1 GOTO NG IF ERRORLEVEL 0 GOTO OK :NG echo 異常 >> kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log :OK echo 正常 > kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log :ReqReboot echo 再起動が必要 >> kekka.log echo ERRORLEVELは%ERRORLEVEL%です。 >> kekka.log ) goto END :END endlocal ---------------------------------------------- 続けて次のファイルをインストールするにはどうすれば良いか 教えてください。

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

どんな動きをしているのでしょうか? 単純に for %%i in (%SrcDir%*.msu) do ( echo %%i ) のようにするとちゃんとループするのでしょうか?

toakana
質問者

補足

ご回答ありがとうございます。 SaKaKashi様の仰る通り for %%i in (%SrcDir%*.msu) do ( echo %%i では全件ループするのですが、if文を入れると なぜか1件しか処理出来ないのです。 何が原因なのかご教授お願いします。

関連するQ&A