Windows 7 CMD.exe样式批处理
我不确定这会完美无缺。我觉得有时候TIMEOUT会结束并且bat会自己执行SHUTDOWN -ABORT。我希望用户只需按一个键即可停止关机倒计时(理想情况下只需注释“OK”按钮即可),否则可以完美地关闭计算机。
if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" ("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 vlc://quit) else goto end
shutdown -s -t 120 -c "Press any key in the Command Prompt to cancel the shutdown."
timeout -t 120
shutdown -a
我考虑添加一个PING 999.999.999.999 -n 1 -w 1000来强制进行短暂等待,但是如果用户按下一个键,那么它会在中止关闭之前等待,这也可能导致问题。
答案 0 :(得分:0)
这使用Choice
来提供延迟和错误级别来检查,以便在按下C时它将中止。它还提供了立即关闭的额外选项。
超时不会在中止时提供错误级别,因此按任意键以中止似乎不是一种选择。
@echo off
if exist "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" ("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %1 %2 %3 %4 %5 %6 %7 %8 %9 %10 vlc://quit) else (goto :EOF)
choice /c CS /D S /T 120 /M "Waiting for 120 seconds: Press C to cancel shutdown, or S to shutdown now"
if errorlevel 2 shutdown -s
答案 1 :(得分:0)
使用choice command。您可能需要下载它,具体取决于您的操作系统。
如果未按下q
,这将在关闭前等待300秒。
choice /c aq /n /d a /t 300 /m "Computer shutting down in 300 seconds [q to cancel]"
if %errorLevel%==1 shutdown -a