經典批處理實現自動關機1.BAT
@ECHO off
TITLE 自動關機程序 作者:廖曉青
TITLE 自動關機程序 作者:廖曉青
:start
CLS
COLOR 1f
rem 使用COLOR命令對控制台輸出顏色進行更改
MODE con: COLS=41 LINES=18
rem MODE語句為設定窗體的寬和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%點%tm2%分%tm3%秒
ECHO =========================================
ECHO 請選擇要進行的操作,然后按回車
ECHO ───────────────
ECHO.
ECHO 1. 定時關機
ECHO 2. 倒計時關機
ECHO 3. 刪除定時關機任務
ECHO 4. 查看任務狀態
ECHO 5. 刷新當前時間
ECHO 6. 重新啟動
ECHO 7. 鎖定計算機
ECHO 8. 注銷
ECHO 9. 退出
ECHO.
CLS
COLOR 1f
rem 使用COLOR命令對控制台輸出顏色進行更改
MODE con: COLS=41 LINES=18
rem MODE語句為設定窗體的寬和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%點%tm2%分%tm3%秒
ECHO =========================================
ECHO 請選擇要進行的操作,然后按回車
ECHO ───────────────
ECHO.
ECHO 1. 定時關機
ECHO 2. 倒計時關機
ECHO 3. 刪除定時關機任務
ECHO 4. 查看任務狀態
ECHO 5. 刷新當前時間
ECHO 6. 重新啟動
ECHO 7. 鎖定計算機
ECHO 8. 注銷
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=選擇:
rem 設定變量"Choice"為用戶輸入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果輸入大於1位,取第1位,比如輸入132,則返回值為1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 為避免出現返回值為空或含空格而導致程序異常,需在變量外另加雙引號
rem 注意,IF語句需要雙等於號
rem 如果輸入的字符不是以上數字,將返回重新輸入
ECHO 選擇無效,請重新輸入
ECHO.
GOTO cho
SET Choice=
SET /P Choice=選擇:
rem 設定變量"Choice"為用戶輸入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果輸入大於1位,取第1位,比如輸入132,則返回值為1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 為避免出現返回值為空或含空格而導致程序異常,需在變量外另加雙引號
rem 注意,IF語句需要雙等於號
rem 如果輸入的字符不是以上數字,將返回重新輸入
ECHO 選擇無效,請重新輸入
ECHO.
GOTO cho
:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否設定為每天執行關機命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否設定為每天執行關機命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour
:yes
ECHO 請指定24小時制式時間,格式為 小時:分鍾
SET shutdowntime=
SET /p shutdowntime=輸入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 設定為每周的星期一至星期日,即為每天
IF NOT errorlevel 1 GOTO ok
rem 如果輸入正確,就執行ok段的語句
ECHO %shutdowntime% 不是標准的時間格式,請重新輸入
ECHO.
GOTO yes
ECHO 請指定24小時制式時間,格式為 小時:分鍾
SET shutdowntime=
SET /p shutdowntime=輸入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 設定為每周的星期一至星期日,即為每天
IF NOT errorlevel 1 GOTO ok
rem 如果輸入正確,就執行ok段的語句
ECHO %shutdowntime% 不是標准的時間格式,請重新輸入
ECHO.
GOTO yes
:no
ECHO 請指定24小時制式時間,格式為 小時:分鍾
SET shutdowntime=
SET /p shutdowntime=輸入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是標准的時間格式,請重新輸入
ECHO.
GOTO no
ECHO 請指定24小時制式時間,格式為 小時:分鍾
SET shutdowntime=
SET /p shutdowntime=輸入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是標准的時間格式,請重新輸入
ECHO.
GOTO no
:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%時%am%分
) ELSE (
SET HM=%bh%時%bm%分)
rem 如果輸入h:mm則HM=h時mm分,否則HM=hh時mm分
IF /I "%ask%"=="y" ECHO 系統將於每天的%HM%關閉
IF /I "%ask%"=="n" ECHO 系統將於%HM%關閉
ECHO 設定完畢! 按任意鍵繼續...
PAUSE >nul
GOTO start
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%時%am%分
) ELSE (
SET HM=%bh%時%bm%分)
rem 如果輸入h:mm則HM=h時mm分,否則HM=hh時mm分
IF /I "%ask%"=="y" ECHO 系統將於每天的%HM%關閉
IF /I "%ask%"=="n" ECHO 系統將於%HM%關閉
ECHO 設定完畢! 按任意鍵繼續...
PAUSE >nul
GOTO start
:outtime
CLS
ECHO.
ECHO 請輸入倒計時秒數
ECHO ────────
ECHO (設定后要取消,單擊"確定"后按Ctrl+C鍵兩次)
SET timed=
SET /p timed=輸入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是無效的關機時間,請重新輸入
ECHO.
GOTO outtime
CLS
ECHO.
ECHO 請輸入倒計時秒數
ECHO ────────
ECHO (設定后要取消,單擊"確定"后按Ctrl+C鍵兩次)
SET timed=
SET /p timed=輸入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是無效的關機時間,請重新輸入
ECHO.
GOTO outtime
:delAt
cls
echo.
at /del /y
echo 定時關機任務已取消,按任意鍵繼續...
pause >nul
GOTO start
cls
echo.
at /del /y
echo 定時關機任務已取消,按任意鍵繼續...
pause >nul
GOTO start
:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意鍵繼續...
PAUSE >nul
GOTO start
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意鍵繼續...
PAUSE >nul
GOTO start
:restart
shutdown -r -t 0
shutdown -r -t 0
:lock
rundll32.exe user32.dll,LockWorkStation
goto start
rundll32.exe user32.dll,LockWorkStation
goto start
:logoff
logoff
logoff
:end
exit
經典批處理實現自動關機2.BAT
exit
經典批處理實現自動關機2.BAT
@echo off
title 自動關機程序 作者:青劍
rem 這里改成你的名字好了
color 17
rem 如果你不喜歡命令行默認的黑底白字模式,可以用color命令進行更改,上面"17"代表藍底白字.
:start
echo.
echo.
echo 請選擇要進行的操作,然后按回車:
echo.
echo 1. 定時關機
echo 2. 倒計時關機
echo 3. 刪除定時關機任務
echo 4. 查看定時關機任務狀態
echo 5. 注銷
echo 6. 退出
echo.
:set
SET a=
SET /P a=選擇:
rem 設定變量"a"為用戶輸入的字符
IF NOT '%a%'=='' SET a=%a:~0,1%
ECHO.
IF /I '%a%'=='1' goto 1
IF /I '%a%'=='2' goto 2
IF /I '%a%'=='3' goto 3
IF /I '%a%'=='4' goto 4
IF /I '%a%'=='5' goto 5
IF /I '%a%'=='6' goto 6
rem 如果輸入的字符不是1-6,將返回重新輸入
echo %a% 選擇無效,請重新輸入:
echo.
goto set
:1
echo 請輸入關機時間,(如12:00:00)
set shutdowntime=
set /p shutdowntime=
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF not errorlevel 1 goto ok
rem 如果輸入正確,就執行:ok后面的語句
echo %shutdowntime% 不是標准的時間格式,請重新輸入
echo.
goto 1
:ok
echo.
echo 設定完畢! 按任意鍵繼續...
pause >nul
cls
goto start
:2
echo 您想要多少秒后關機
echo (若設定后要取消,單擊"確定"后按Ctrl+C鍵兩次)
set timed=
set /p timed=輸入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 goto ok
echo %timed% 是無效的關機時間,請重新輸入
echo.
goto 2
:3
at /del /y
echo 定時關機任務已取消,按任意鍵繼續...
pause >nul
cls
goto start
:4
at
echo 按任意鍵繼續...
pause >nul
cls
goto start
:5
logoff
:6
exit
---------------------
作者:sharewind
來源:CSDN
原文:https://blog.csdn.net/sharewind/article/details/83265803
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
title 自動關機程序 作者:青劍
rem 這里改成你的名字好了
color 17
rem 如果你不喜歡命令行默認的黑底白字模式,可以用color命令進行更改,上面"17"代表藍底白字.
:start
echo.
echo.
echo 請選擇要進行的操作,然后按回車:
echo.
echo 1. 定時關機
echo 2. 倒計時關機
echo 3. 刪除定時關機任務
echo 4. 查看定時關機任務狀態
echo 5. 注銷
echo 6. 退出
echo.
:set
SET a=
SET /P a=選擇:
rem 設定變量"a"為用戶輸入的字符
IF NOT '%a%'=='' SET a=%a:~0,1%
ECHO.
IF /I '%a%'=='1' goto 1
IF /I '%a%'=='2' goto 2
IF /I '%a%'=='3' goto 3
IF /I '%a%'=='4' goto 4
IF /I '%a%'=='5' goto 5
IF /I '%a%'=='6' goto 6
rem 如果輸入的字符不是1-6,將返回重新輸入
echo %a% 選擇無效,請重新輸入:
echo.
goto set
:1
echo 請輸入關機時間,(如12:00:00)
set shutdowntime=
set /p shutdowntime=
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF not errorlevel 1 goto ok
rem 如果輸入正確,就執行:ok后面的語句
echo %shutdowntime% 不是標准的時間格式,請重新輸入
echo.
goto 1
:ok
echo.
echo 設定完畢! 按任意鍵繼續...
pause >nul
cls
goto start
:2
echo 您想要多少秒后關機
echo (若設定后要取消,單擊"確定"后按Ctrl+C鍵兩次)
set timed=
set /p timed=輸入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 goto ok
echo %timed% 是無效的關機時間,請重新輸入
echo.
goto 2
:3
at /del /y
echo 定時關機任務已取消,按任意鍵繼續...
pause >nul
cls
goto start
:4
at
echo 按任意鍵繼續...
pause >nul
cls
goto start
:5
logoff
:6
exit
---------------------
作者:sharewind
來源:CSDN
原文:https://blog.csdn.net/sharewind/article/details/83265803
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!