復(fù)制代碼 代碼如下:
@ECHO off
TITLE greaterthanme-實現(xiàn)定時關(guān)機(jī)、注銷、重啟、鎖定等功能。start
CLS
COLOR 1f
rem 使用COLOR命令對控制臺輸出顏色進(jìn)行更改
MODE con COLS=41 LINES=18
rem MODE語句為設(shè)定窗體的寬和高
set tm1=%time~0,2%
set tm2=%time~3,2%
set tm3=%time~6,2%
ECHO %date% %tm1%點%tm2%分%tm3%秒
ECHO =========================================
ECHO 請選擇要進(jìn)行的操作,然后按回車
ECHO ———————————————
ECHO.
ECHO 1. 定時關(guān)機(jī)
ECHO 2. 倒計時關(guān)機(jī)
ECHO 3. 刪除定時關(guān)機(jī)任務(wù)
ECHO 4. 查看任務(wù)狀態(tài)
ECHO 5. 刷新當(dāng)前時間
ECHO 6. 重新啟動
ECHO 7. 鎖定計算機(jī)
ECHO 8. 注銷
ECHO 9. 退出
ECHO.cho
SET Choice=
SET P Choice=選擇
rem 設(shè)定變量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 為避免出現(xiàn)返回值為空或含空格而導(dǎo)致程序異常,需在變量外另加雙引號
rem 注意,IF語句需要雙等于號
rem 如果輸入的字符不是以上數(shù)字,將返回重新輸入
ECHO 選擇無效,請重新輸入
ECHO.
GOTO choSetHour
CLS
ECHO.
SET ask=
SET p ask=是否設(shè)定為每天執(zhí)行關(guān)機(jī)命令(yn)
IF NOT %ask%== SET ask=%ask~0,1%
IF I %ask%==y GOTO yes
IF I %ask%==n GOTO no
GOTO SetHouryes
ECHO 請指定24小時制式時間,格式為 小時分鐘
SET shutdowntime=
SET p shutdowntime=輸入
at %shutdowntime% everyM,T,W,Th,F,S,Su tsshutdn 0 delay0 powerdown nul
rem 設(shè)定為每周的星期一至星期日,即為每天
IF NOT errorlevel 1 GOTO ok
rem 如果輸入正確,就執(zhí)行ok段的語句
ECHO %shutdowntime% 不是標(biāo)準(zhǔn)的時間格式,請重新輸入
ECHO.
GOTO yesno
ECHO 請指定24小時制式時間,格式為 小時分鐘
SET shutdowntime=
SET p shutdowntime=輸入
at %shutdowntime% tsshutdn 0 delay0 powerdown nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是標(biāo)準(zhǔn)的時間格式,請重新輸入
ECHO.
GOTO nook
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 如果輸入hmm則HM=h時mm分,否則HM=hh時mm分
IF I %ask%==y ECHO 系統(tǒng)將于每天的%HM%關(guān)閉
IF I %ask%==n ECHO 系統(tǒng)將于%HM%關(guān)閉
ECHO 設(shè)定完畢! 按任意鍵繼續(xù)...
PAUSE nul
GOTO startouttime
CLS
ECHO.
ECHO 請輸入倒計時秒數(shù)
ECHO ————————
ECHO (設(shè)定后要取消,單擊確定后按Ctrl+C鍵兩次)
SET timed=
SET p timed=輸入
tsshutdn %timed% delay0 powerdown nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是無效的關(guān)機(jī)時間,請重新輸入
ECHO.
GOTO outtimedelAt
cls
echo.
at del y
echo 定時關(guān)機(jī)任務(wù)已取消,按任意鍵繼續(xù)...
pause nul
GOTO startview
MODE con COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意鍵繼續(xù)...
PAUSE nul
GOTO startrestart
shutdown -r -t 0lock
rundll32.exe user32.dll,LockWorkStation
goto startlogoff
logoffend
exit
您可能感興趣的文章:- bat定時自動關(guān)機(jī),bat自動結(jié)束任務(wù)關(guān)閉程序,dos自動結(jié)束程序后關(guān)機(jī)
- 實現(xiàn)每個星期的每一天指定時間關(guān)機(jī)的dos/bat
- Java調(diào)用DOS實現(xiàn)定時關(guān)機(jī)的實例
- 用bat實現(xiàn)定時執(zhí)行任務(wù)的批處理文件
- 用批處理實現(xiàn)的刪除特定時間以前的文件
- 可以設(shè)定的定時關(guān)機(jī)的批處理
- 定時檢查網(wǎng)站是否掉線的批處理
- 在Windows主機(jī)上定時備份遠(yuǎn)程VPS(CentOS)數(shù)據(jù)的批處理
- 如何利用DOS批處理實現(xiàn)定時關(guān)機(jī)操作詳解