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