使用說明:python
第一次運行會提示您配置參數,設置完成後會生成一個.ini配置文件 和 一個.log日誌測試
若要從新配置參數,須要刪除.ini的配置文件 並 再次運行batspa
若要刪除計劃任務,須要刪除.ini的配置文件並再次運行bat 根據bat內提示操做日誌
不能更改bat及和它生成的路徑位置。不然設置的計劃任務會無效。blog
存在BUG:cmd
1.好比 設置成星期一的 8:00 進行重啓 ,那麼在星期一的時候(不管是幾點鐘) 手動運行也會觸發重啓,由於沒有加時間斷定。it
2. 不能檢查輸入的時間格式,錯誤的時間格式並不能配置成功io
可能存在未知BUG,未進行全面測試class
@Echo off SET ROOT=%~dp0 SET CONFIG_FILE=%ROOT%config_d.ini set log=%ROOT%log.log set logtime=%date:~,10% %time:~,8% if exist "%log%" (goto :you ) else (goto :mei) :you echo ============================================================ >>log.log echo %logtime% 開始運行 >>log.log goto :ini :mei echo 如下爲運行日誌 >log.log echo ============================================================ >>log.log echo %logtime% 開始運行 >>log.log goto :ini :ini if exist "%CONFIG_FILE%" (goto :ok ) else (goto :no) :no echo 配置文件不存在,已經進入配置頁面 >>log.log echo ===================================================== echo 配置文件不存在,您已經進入配置頁面 echo 按(S)刪除重啓計劃 或 直接按下方括號中的數字從新設置 echo ===================================================== goto :no1 :no1 echo, echo 請選擇您要在星期幾設定重啓 echo, echo (1)星期一 (2)星期二 (3)星期三 (4)星期四 echo (5)星期五 (6)星期六 (7)星期日 (0)退 出 echo, echo 請輸入上方括號中的數字進行下一步 choice /c 12345670s /n >nul if %errorlevel%== 1 (set xingqi=一) if %errorlevel%== 2 (set xingqi=二) if %errorlevel%== 3 (set xingqi=三) if %errorlevel%== 4 (set xingqi=四) if %errorlevel%== 5 (set xingqi=五) if %errorlevel%== 6 (set xingqi=六) if %errorlevel%== 7 (set xingqi=日) if %errorlevel%== 8 (goto :q ) if %errorlevel%== 9 (goto :s) echo, echo 您選擇的是星期%xingqi% echo 設置星期爲%xingqi% >>log.log goto shijian :shijian echo, echo 您要在星期%xingqi%那個時間重啓電腦? echo 時間格式爲 HH:mm(24 小時時間) 請嚴格按照提示輸入 echo 例如 14:30 , 07:01 ,09:55 , 23:32 set /p shijian=請輸入時間並按回車鍵: goto :zb :zb echo, echo 根據您的輸入 將在每星期的星期%xingqi%的 %shijian% 進行重啓 echo 請再三肯定時間格式爲 HH:mm 和標點符號是否正確 echo 不然出現的各類未知問題,本程序概不負責 echo, echo 確認請按(y) 修改星期請按(x) 修改時間請按(j) 退出請按(q) choice /c yxjq /n >nul if %errorlevel%== 1 (goto :xieru) if %errorlevel%== 2 (goto :xingqi) if %errorlevel%== 3 (goto :shijian) if %errorlevel%== 4 (goto :q) :xingqi echo, echo 請再次選擇您要在星期幾設定重啓 echo, echo (1)星期一 (2)星期二 (3)星期三 (4)星期四 echo (5)星期五 (6)星期六 (7)星期日 (0)退 出 echo, echo 請輸入上方括號中的數字進行下一步 choice /c 12345670 /n >nul if %errorlevel%== 1 (set xingqi=一) if %errorlevel%== 2 (set xingqi=二) if %errorlevel%== 3 (set xingqi=三) if %errorlevel%== 4 (set xingqi=四) if %errorlevel%== 5 (set xingqi=五) if %errorlevel%== 6 (set xingqi=六) if %errorlevel%== 7 (set xingqi=日) if %errorlevel%== 8 (goto :q ) echo 修改星期爲%xingqi% >>log.log goto :zb :xieru echo 設置爲星期%xingqi%的 %shijian%,並開始生成ini >>log.log echo 此配置文件爲設定定時重啓任務時生成,必須與主程序存在同一目錄下 >"%CONFIG_FILE%" echo 請不要隨意修改如下參數,若要從新設置定時重啓任務請刪除本配置文件後,容許主程序 >>"%CONFIG_FILE%" echo date1=%xingqi% >>"%CONFIG_FILE%" echo time1=%shijian% >>"%CONFIG_FILE%" goto :shezhi :shezhi echo, set chengxu="cmd /c '%~0'" schtasks /create /tn 定時重啓任務 /tr %chengxu% /sc DAILY /st %shijian% /ru %username% /f echo 設置完成 >>log.log echo 按任意鍵退出 pause >nul exit :ok echo 發現ini,正在執行 >>log.log setlocal enabledelayedexpansion for /f "delims=" %%a in ('type "config_d.ini"^| find /i "="') do ( set %%a ) echo %date1% echo %time1% set bb=%date:~12,13% if %bb%==%date1% goto :open goto :ex :open echo 當前是星期%bb%,當前時間爲%time:~,8%。與設置相符,開始重啓 >>log.log shutdown /r /f /t 5 exit :ex echo 當前是星期%bb%,當前時間爲%time:~,8%。與設置不相符。程序退出 >>log.log echo 將在明天的%time1%。再次檢查。程序退出 >>log.log exit :s schtasks /delete /tn 定時重啓任務 /f >>log.log echo 已刪除重啓計劃 goto :no1 :q echo 用戶選擇退出 >>log.log exit