我有一个.bat,我已经写过自动安装我必须在工作中安装的软件。 (我不能使用powershell,因为许多机器仍然是XP)
接近结束时,脚本应该自行清理并注销,但由于某种原因我无法注销。
taskkill /f /im explorer.exe>nul 2>&1
set _sd=%~dp0
cd /d c:\
del "%_sd%md5sum.exe"
...
del "%_sd%RUN-AS-ADMIN.bat"
wait 2
shutdown -f -l
答案 0 :(得分:2)
CMD中没有wait
命令。 Win7 +有timeout
但不适用于XP。要实现某种超时,您必须使用例如ping 127.0.0.1 -n 6 > nul
。这将使您的系统等待"持续5秒。您可以通过将6替换为任何其他值来修改超时。如果您想要超时X秒,请用X + 1替换6。
答案 1 :(得分:2)
编辑:制作一个愚蠢的错误,修复它。
请改为尝试:
taskkill /f /im explorer.exe>nul 2>&1
set _sd=%~dp0
cd /d c:\
del "%_sd%md5sum.exe"
...
del "%_sd%RUN-AS-ADMIN.bat"
pause
shutdown -f -l
我所做的只是将wait
替换为pause
我做了一些环顾四周,我找不到任何使批处理文件延迟并自动继续的本机命令,所以这是我能找到的最接近的命令。 (假设您使用此计算机的计算机是Windows XP)
如果您不使用Windows XP作为批处理文件,请改用:
taskkill /f /im explorer.exe>nul 2>&1
set _sd=%~dp0
cd /d c:\
del "%_sd%md5sum.exe"
...
del "%_sd%RUN-AS-ADMIN.bat"
timeout /t 2 >nul
shutdown -f -l
timeout
充当延迟,但遗憾的是,它不是Windows XP上的本机命令,但它是在Windows 7+上(不确定是关于vista)
希望这会有所帮助:)