bat的定時關機程式

2021-04-17 04:23:07 字數 3568 閱讀 5222

bat的定時關機程式

@echo off

title greaterthanme-實現定時關機、登出、重啟、鎖定等功能。

: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.

: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

: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

: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

: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

:view

mode con: cols=85 lines=18

color 70

echo.

at echo 按任意鍵繼續...

pause >nul

goto start

:restart

shutdown -r -t 0

:lock

rundll32.exe user32.dll,lockworkstation

goto start

:logoff

logoff

:end

exit

bat定時關機指令碼

有時因為測試或者其他原因,需要電腦在人不在的時候依舊開著,但又不希望一直開著,這時希望能有乙個簡單的定時關機方法。網上有很多相關的軟體,這裡提供乙個bat指令碼實現的方法。echo off 使用set進行設定變數,並使用 p引數讓命令暫停執行,提供使用者在cmd視窗輸入變數的機會 set ht ti...

定時自動關機程式

一 問題的提出 執行某任務的計算機,尤其是伺服器,如果能實現在無人職守的情況下,到達指定時間時自動關機,那麼將極大地減輕系統管理員的負擔,也會給我們的日常工作帶來很大方便。筆者用delphi開發的這個定時自動關機 程式,適用於目前兩類的windows系列 作業系統 從windows 95 98 me...

python編寫定時關機程式

import os,sys,time from pyqt5 import qtcore,qtwidgets,qtgui class guanji object defpageshow self,page 設定視窗的位置和大小 page.setgeometry 400,400,400,200 設定視窗...