感謝我那可愛的GPT助手對(duì)代碼的優(yōu)化工作。文章來源地址http://www.zghlxwxcb.cn/news/detail-678881.html
@echo off
REM Author: YooooungLee TEL 155-****-9552
echo 歡迎使用自動(dòng)關(guān)機(jī)計(jì)劃設(shè)置腳本!by LiYang
echo.
:choose_action
set /p "action_choice=請(qǐng)選擇要執(zhí)行的操作(輸入1設(shè)置定時(shí)關(guān)機(jī)任務(wù),輸入2刪除定時(shí)關(guān)機(jī)任務(wù)):"
if "%action_choice%"=="1" (
echo.
echo -- 設(shè)置定時(shí)關(guān)機(jī)任務(wù) --
echo.
REM 設(shè)置定時(shí)關(guān)機(jī)任務(wù)腳本
goto set_shutdown_task
)
if "%action_choice%"=="2" (
echo.
echo -- 刪除定時(shí)關(guān)機(jī)任務(wù),如提示“錯(cuò)誤:拒絕訪問”,請(qǐng)退出后,以管理員權(quán)限重新運(yùn)行程序 --
echo.
REM 刪除定時(shí)關(guān)機(jī)任務(wù)腳本
goto delete_shutdown_task
)
echo 錯(cuò)誤:無效的選項(xiàng),請(qǐng)輸入1或2來選擇操作。
echo.
pause
goto choose_action
:set_shutdown_task
:: 之前完成的設(shè)置定時(shí)關(guān)機(jī)任務(wù)的腳本
setlocal enabledelayedexpansion
:input_time
set /p shutdown_time=請(qǐng)輸入每日關(guān)機(jī)時(shí)間(格式為HH:mm,例如 20:00 表示晚上8點(diǎn)):
rem 檢查輸入的時(shí)間格式是否正確
for /f "tokens=1,2 delims=:" %%a in ("%shutdown_time%") do (
set "hour=%%a"
set "minute=%%b"
)
rem 檢查小時(shí)和分鐘是否都是數(shù)字
echo %hour% | findstr /r "[0-9]" >nul
if %errorlevel% neq 0 (
echo 錯(cuò)誤:輸入的時(shí)間格式不正確,請(qǐng)重新輸入。
goto input_time
)
echo %minute% | findstr /r "[0-9]" >nul
if %errorlevel% neq 0 (
echo 錯(cuò)誤:輸入的時(shí)間格式不正確,請(qǐng)重新輸入。
goto input_time
)
rem 檢查小時(shí)和分鐘是否在合法范圍內(nèi)(小時(shí):00到23,分鐘:00到59)
if %hour% lss 0 (
echo 錯(cuò)誤:輸入的小時(shí)值不能小于0,請(qǐng)重新輸入。
goto input_time
)
if %hour% gtr 23 (
echo 錯(cuò)誤:輸入的小時(shí)值不能大于23,請(qǐng)重新輸入。
goto input_time
)
if %minute% lss 0 (
echo 錯(cuò)誤:輸入的分鐘值不能小于0,請(qǐng)重新輸入。
goto input_time
)
if %minute% gtr 59 (
echo 錯(cuò)誤:輸入的分鐘值不能大于59,請(qǐng)重新輸入。
goto input_time
)
echo 正在設(shè)置每日 %shutdown_time% 自動(dòng)關(guān)機(jī)...
echo 請(qǐng)勿關(guān)閉此窗口,否則設(shè)置將失效.
:: 刪除之前設(shè)置的同名自動(dòng)關(guān)機(jī)任務(wù)(如果存在)
schtasks /delete /tn "每日自動(dòng)關(guān)機(jī)" /f >nul 2>&1
:: 創(chuàng)建新的自動(dòng)關(guān)機(jī)任務(wù)
schtasks /create /tn "每日自動(dòng)關(guān)機(jī)" /tr "shutdown /s /f /t 0" /sc daily /st %shutdown_time%
echo 每日 %shutdown_time% 自動(dòng)關(guān)機(jī)任務(wù)設(shè)置完畢。
echo 可以雙擊此腳本再次設(shè)置計(jì)劃任務(wù)或手動(dòng)刪除計(jì)劃任務(wù)。
pause
goto :EOF
:delete_shutdown_task
:: 刪除定時(shí)關(guān)機(jī)任務(wù)的腳本
echo 正在刪除之前設(shè)置的每日自動(dòng)關(guān)機(jī)任務(wù)...
schtasks /delete /tn "每日自動(dòng)關(guān)機(jī)" /f
echo 已刪除之前設(shè)置的每日自動(dòng)關(guān)機(jī)任務(wù)。
pause
goto :EOF
文章來源:http://www.zghlxwxcb.cn/news/detail-678881.html
到了這里,關(guān)于【簡(jiǎn)單bat】寫一個(gè)定時(shí)關(guān)機(jī)的批處理程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!