Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> 關於XP系統教程 >> Win XP自動關機的批處理文件

Win XP自動關機的批處理文件

日期:2017/1/23 17:08:12      編輯:關於XP系統教程

  關機程序網絡上很多,今天咱們自個用批處理輕輕松松的DIY一個,原理超級簡單,看完之後自己做一個自己的定時關機程序。

  最近出了不少電影,自己一個人也懶得去電影院了,就到網上下載回來晚上沒事的時候看。白天要上班,開著電腦下載電影,用自動關機程序設定好時間,等電影差不多下載完成了,就自動關機。網上定時關機程序一大把,可咱就是想弄一個比較個性化的,自己DIY一個。

  先來看看原理,Windows XP的關機是由Shutdown.exe程序來控制的,位於Windows\System32文件夾中,把這個程序跟批處理結合一下就可以DIY一個自動關機程序出來了。

  知道了相關原理之後,開始寫批處理了:
    @echo off
    title               系統關機
    :loop
    cls
    color bc
    echo.
    echo.
    echo                *** WINDOWSXP    快速關機系統 ***
    echo.
    echo                快速關機……………………請直接回車
    echo                開始倒計時關機……………請輸入1+回車
    echo                設定時間點關機……………請輸入2+回車
    echo                顯示計時關機………………請輸入3+回車
    echo                設定每天關機………………請輸入4+回車
    echo                取消系統關機………………請輸入空格+回車
    echo                退出…………………………請輸入Q+回車
    echo.
    echo.
    set a=
    set /p a=                【 請輸入 】:
    if "%a%"=="1" goto aaa
    if "%a%"=="2" goto bbb
    if "%a%"==" " goto ccc
    if "%a%"=="" goto ddd
    if "%a%"=="3" goto eee
    if "%a%"=="4" goto fff
    if "%a%"=="q" exit
    goto loop
    :ddd
    @echo off
    color e5
    cls
    echo.
    echo.
    echo                      〖系統即將關機並結束進程〗
    pause
    echo.
    ::ntsd -c q -pn %run%
    taskkill /f /t /im pfw.exe /f /t /im internat.exe /f /t /im explorer.exe
    shutdown -s -f -t 0 -c "取消請運行shutdown -a"
    exit
    :aaa
    @echo off
    color f4
    echo.
    echo.
    echo.
    echo 現在將設置系統自動關機,請在此輸入倒計時秒數後回車,系統將在設定時間自動關閉
    set mytime=
    set /p mytimes=            【 倒計時關機請輸入 小時數】:
    set /a mytimes=%mytimes%*3600
    set /p mytimef=            【 倒計時關機請輸入 分鐘數】:
    set /a mytimef=%mytimef%*60
    set /p mytimem=            【 倒計時關機請輸入 秒    數】:
    set /a mytime=%mytimes%+%mytimef%+%mytimem%
    shutdown -s -t %mytime% -c "取消請運行shutdown -a"
    cls
    echo.
    echo                    〖系統將在%mytime%秒後關機〗
    echo.
    pause
    goto loop
    :bbb
    @echo off
    color f9
    echo.
    echo.
    echo.
    echo 現在將設置系統自關機,請在此輸入關機時間(如12:00)回車,系統將定時自動關閉
    set mytimes=
    set mytimef=
    set /p mytimes=            【 定時關機請輸入 時】:
    set /p mytimef=            【 定時關機請輸入 分】:
    at %mytimes%:%mytimef% shutdown -s -t 0
    ::這表示在mytime分執行shutdown -s -t 0操作.如果當前時間大於任務執行時間,則默認為明日執行,0為倒計時時間.
    echo.
    echo                      〖現在將顯示所有計劃〗
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    at
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    pause
    ::顯示計劃並暫停
    goto loop
    :ccc
    @echo off
    color f2
    echo.
    echo.
    echo.
    echo                      〖現在將設置取消系統自動關機〗
    echo.
    pause
    shutdown -a
    echo.
    echo.
    echo                      〖現在將顯示所有計劃,在回車後取消計劃且無須確認〗
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    at
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    pause
    at /del /yes
    ::取消所有計劃並無須確認
    cls
    echo.
    echo                      〖系統已經取消自動關機〗
    echo                       〖系統已經取消所有計劃任務〗
    echo.
    pause
    goto loop
    :eee
    @echo off
    color f4
    echo.
    echo.
    echo.
    echo 現在將設置系統自動關機,請在此輸入倒計時秒數後回車,系統將在設定時間自動關閉
    set mytime=
    ::此行是為了清mytime變量值,以免在不注意的情況下存在變量值,此為一種好的習慣.
    set mytimes=0
    ::賦值為0是為了使%mytimes%不致於無意義,下同.
    set mytimef=0
    set mytimem=0
    set /p mytimes=            【 倒計時關機請輸入 小時數】:
    set /a mytimes=%mytimes%*3600
    set /p mytimef=            【 倒計時關機請輸入 分鐘數】:
    set /a mytimef=%mytimef%*60
    set /p mytimem=            【 倒計時關機請輸入 秒    數】:
    color a3
    mode con cols=30 lines=4
    set /a mytime=%mytimes%+%mytimef%+%mytimem%
    SET wait=ping -n 2 127.0.0.1 ^>^nul
    for /l %%n in (%mytime%,-1,0) do (
    rem cls
    echo *******************
    echo 〖%%n秒後自動關機〗
    echo *******************
    %wait%
    cls
    )
    shutdown -s -t 0
    goto loop
    :fff
    @echo off
    color f9
    echo.
    echo.
    echo.
    echo 現在將設置系統每天運行自關機
    echo.
    set myopengs=
    set /p myopengs=           【重復設定請輸入單空格+回車,單次及最後一次設定請回車】
    echo.
    echo 請在此輸入關機時間(如12:00)後回車,系統將定時關閉
    echo.
    set mytimes=
    set mytimef=
    set /p mytimes=            【 定時關機請輸入 時】:
    set /p mytimef=            【 定時關機請輸入 分】:
    at %mytimes%:%mytimef% /every:M,T,W,Th,F,S,Su shutdown -s -f
    echo.
    echo                      〖現在將顯示所有計劃〗
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    at
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    pause
    ::顯示計劃並暫停
    if "%myopengs%"==" " goto :fff
    goto loop

  把批處理拷貝下來,復制到記事本另存為bat文件即可。

Copyright © Windows教程網 All Rights Reserved