我想编写一个简单的批处理脚本来关闭我自己的计算机,这将在我躺在床上看DVD或其他东西时使用。
更新:修正了代码,还有其他任何建议吗?
setlocal
@echo off & break off
:input
set /p "minutes=Enter number of minutes to wait until shutdown: "
set "numcheck="&for /f "delims=0123456789" %%i in ("%minutes%") do set "numcheck=%%i"""
if defined numcheck (
echo ERROR: Sorry "%minutes%" is not numeric, please try again & echo.
goto input
)
if %minutes% gtr 315360000 (
echo ERROR: Sorry your input is greater then 10 years, I can't handle that & echo.
goto input
)
set /a "seconds=%minutes%*60"
shutdown.exe /s /f /t "%seconds%"
if errorlevel 1 (
echo ERROR: Could not set shutdown, try again & echo.
goto input
)
:abort
set /p "continue=Your computer is about to shutdown in %minutes% minutes, do you want to abort? (yes/no): "
if %continue% equ yes (
echo Aborting...
shutdown.exe /a
if errorlevel 1 (
echo ERROR: Could not stop shutdown, try again & echo.
goto abort
)
timeout.exe /t 5 /NOBREAK
endlocal
exit /b
) else (
timeout.exe /t 10 /NOBREAK
endlocal
exit /b
)
答案 0 :(得分:2)
使用shutdown
命令的最常见方法是:
shutdown -s
-关闭。
shutdown -r
-重新启动。
shutdown -l
-注销。
shutdown -h
-休眠。
注意:有一个常见的陷阱,用户认为-h
的意思是“帮助”(它对所有其他命令行程序都适用...除了shutdown.exe
,意思是“休眠”)。然后他们运行shutdown -h
并意外关闭计算机。提防。
shutdown -i
-“交互模式”。它不执行操作,而是显示GUI对话框。
shutdown -a
—中止先前的关闭命令。
以上命令可以与以下其他选项结合使用:
-f
-强制退出程序。防止关闭过程陷入困境。
-t <seconds>
-设置关闭前的时间。使用-t 0
立即关闭。
-c <message>
-添加关闭消息。该消息将最终显示在事件日志中。
-y
-对所有关机查询强制回答“是”。
注意:任何正式文档中都没有记录此选项。它是由these StackOverflow users发现的。
我想确保在此答案中也提及其他一些非常好的答案。在这里,它们没有特定的顺序。
-f
option的rundll32
的答案 1 :(得分:0)
关机-s -t100 用.bat扩展名保存 在100秒x内缩小