簡體   English   中英

批處理 - 簡單的關機腳本

[英]batch - simple shutdown script

我想編寫一個簡單的批處理腳本來關閉我自己的計算機,當我在床上看 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
)

最常見的使用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 — 對所有關閉查詢強制回答“是”。

    注意:此選項未記錄在任何官方文檔中。 這些 StackOverflow 用戶發現了它。


我想確保與這個答案一起還提到了其他一些非常好的答案。 在這里,它們沒有特定的順序。

Shutdown -s -t100 使用 .bat 擴展名保存 100 秒內關閉

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM