0

いくつかの Windows スタンドアロン更新ファイルをインストールしようとしていますが、これを行うには wusu.exe を使用する必要があります。ときどき wusu.exe がハングします。prereqs.bat という名前のバッチ ファイルを作成しました。このファイルには wusu.exe への呼び出しがあります。ハングした場合に wusu.exe を強制終了し、再試行するコードが必要です。

これは現在の私のコードです:

:PreReqs32
taskkill /im prereqs32.bat /f
taskkill /im wusa.exe /f

ループバックすると、バッチ ファイルと wusa.exe の両方が強制終了されます。

start cmd /k c:\windows\temp\prereqs.bat

うまくいかない場合にwusu.exeを強制終了できるようにするための外部プロセス。

timeout /t 240 /NOBREAK

このタイムアウトは、インストールが完了するまで待機するためのものですが、これでは不十分な場合があります。

taskkill /im "[wusa.exe]" /fi "STATUS eq NOT RESPONDING"
if "%ERRORLEVEL%"=="1" goto PreReqs32

ステータスが「応答なし」でない場合に終了するロジックを備えた、ある種のFORループの方法はありますか?

また、おまけとして、wusu.exe がハングしていないと仮定して、タイムアウトを忘れて prereqs.bat が完了するのを「待つ」方法はありますか?

4

0 に答える 0