搜档网
当前位置:搜档网 › 定时关机自动关机批处理BAT命令大全

定时关机自动关机批处理BAT命令大全

定时关机自动关机批处理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=是否设定为每天执行关机命令(yn)
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% everyM,T,W,Th,F,S,Su tsshutdn 0 delay0 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 delay0 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 如果输入hmm则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% delay0 po

werdown 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


********************************************************


@echo off
at 2250 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 很晚了,该睡觉了了!
at 1350 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 要停。。。快。。吧!
at 1550 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 要。。了,快。。吧!
at 950 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 要。。了,快。。吧!
at 550 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 要。。了,快。。吧!
echo 已经完成!
pause&end


********************************************************


@echo off
mode con lines=25
title 定时关机
color 1f
cls
echo.
echo.
echo.
echo.
echo 时间使用24小时制(如215、1200),可以输入多个时间点
echo.
echo 多个时间点用空格分隔
echo.
echo.
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.
set times=
set p times= 请输入关机时间:
以下语句实现每个星期的每一天指定时间关机
如果要换成每个月的某几天,请改字母为数字,并用逗号分隔
以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入
可以用在CMD窗口用at命令来查看计划任务
if not %times%== for %%i in (%times%) do (
at %%i everyM,T,W,Th,F,S,Su shutdown -s
)




********************************************************




@echo off
@color 8E
title Windows系统倒计时关机程序

echo Windows系统倒计时关机程序

echo.
set p help=如果您需要阅读《使用说明》请输入help后确认,否则请按任意其他键跳过。

if I %help%==help goto show else goto unshow

unshow
goto main

show
@echo ################################################################
@echo ## 使用说明 ##
@echo ################################################################
@echo ## 1、您可以在接下来按照提示输入时间,比如您欲在1小时50分钟##
@echo ##后关闭计算机,则请您在“小时”处输入1; 在分钟处输入50;在秒##
@echo ##钟处输入0(或者留空)。 ##
@echo ## 2、您也可以直接输入某一个时间单位,比如您想在100分钟后关##
@echo ##闭计算机,则您只需在分钟处输入100,而小时、秒钟均输入0或留空##
@echo ##即可。 ##
@

echo ## 3、每输入完一个值(或留空)之后,请按回车键确认。 ##
@echo ## 4、本软件为免费授权使用,请尊重软件作 ##
@echo ##者权益,散发本软件请标示软件作者姓名。 ##

@echo ## ##
@echo ################################################################
pause
echo.

main
echo.
echo 您将在
set p hour=多少小时:
set p min=多少分钟:
set p sec=多少秒中:
echo 之后关闭计算机。
pause
echo 系统正在执行定时关闭计算机的操作,请稍后……
set a time=hour6060+min60+sec

if I %time%==0 goto queren else goto quxiao

quxiao
shutdown -s -t %time%
echo 执行成功!按任意键退出。
set p regret=如果你不再需要倒计时关机的话,请输入“yes”后回车,否则请忽略此提示。
if I %regret%==yes goto querentishi else goto quxiaotishi

quxiaotishi
exit

querentishi
shutdown -a
echo 执行成功!按任意键退出。
pause
exit

queren
echo 根据您的输入,您将立即关闭计算机,您确认么?
set p confirm=输入y确认立即关闭计算机,否则请按任意其他键退出!
if I %confirm%==y goto affirm else goto cancel

cancel
exit

affirm
shutdown -s -t 0
echo 执行成功!将立即关闭计算机。
pause


********************************************************



@echo off
title 自动关机程序


启动 Task Scheduler 服务
sc config Schedule start= AUTO
net start Schedule

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 请输入关机时间,(如120000)
set shutdowntime=
set p shutdowntime=
at %shutdowntime% tsshutdn 0 delay0 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% delay0 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


********************************************************


可自行修改定时关机时间.

@echo off
at 2250 everyM,T,W,Th,F,S,Su shutdown -s -t 60 -c 夜深了,该睡觉了喔,(^__^) 嘻嘻……!
echo 已经完成!
pause&end

********************************************************

@echo off
@echo 定时关机(Y)取消定时关机(直接回车或除Yy外任意键)
set var=n
set p var=
if not %var%==y if not %var%==Y goto CANCEL
set t=120
set info=来自用户主动触发的定时关机
@echo 设定定时关机时间(单位秒,默认120秒)
set p t=
@echo 设定提示信息(不设置输入回车):
set p info=
shutdown -s -t %t% -c %info%
goto SHOWMSG
CANCEL
shutdown -a
SHOWMSG
if not %var%==y if not %var%==Y goto CANCELMSG
@echo 定时%t%秒后关机
goto EXIT
CANCELMSG
@echo 定时关机被取消
EXIT
@echo 任意键退出
pause

********************************************************

shutdown -s -f -t 600 -c 系统将在10分钟后自动关闭,请对数据做好保存,以免

丢失!

shutdown -s -f -t 1200 -c 系统将在20分钟后自动关闭,请对数据做好保存,以免

丢失!


********************************************************

@echo off
title 系统关机

loop
cls
color bc
echo.
echo.
echo ★★★ WINDOWSXP 快速关机系统 ★★★
echo.
echo 快速关机……………………请直接回车
echo 开始倒计时关机……………请输入1+回车
echo 设定时间点关机……………请输入2+回车
echo 显示计时关机………………请输入3+回车
echo 设定每天关机………………请输入4+回车
echo 取消系统关机………………请输入空格+回车
echo 退出…………………………请输入Q+回车
echo.
echo.
set a=
set p a= 【 请输入 】
if %a%==1 goto aaa
if %a%==2 goto bbb
if %a%== goto ccc
if %a%== goto ddd
if %a%==3 goto eee
if %a%==4 goto fff
if %a%==q exit
goto loop

ddd
@echo off
color e5
cls
echo.
echo.
echo 〖系统即将关机并结束进程〗
pause
echo.
ntsd -c q -pn %run%
taskkill f t im pfw.exe f t im internat.exe f t im explorer.exe
shutdown -s -f -t 0 -c 取消请运行shutdown -a
exit


aaa
@echo off
color f4
echo.
echo.
echo.
echo 现在将设置系统自动关机,请在此输入倒计时秒数后回车,系统将在设定时间自动关闭
set mytime=
set p mytimes= 【 倒计时关机请输入 小时数】
set a mytimes=%mytimes%3600
set p mytimef= 【 倒计时关机请输入 分钟数】
set a mytimef=%mytimef%60
set p mytimem=

【 倒计时关机请输入 秒 数】
set a mytime=%mytimes%+%mytimef%+%mytimem%
shutdown -s -t %mytime% -c 取消请运行shutdown -a
cls
echo.
echo 〖系统将在%mytime%秒后关机〗
echo.
pause
goto loop

bbb
@echo off
color f9
echo.
echo.
echo.
echo 现在将设置系统自关机,请在此输入关机时间(如1200)回车,系统将定时自动关闭
set mytimes=
set mytimef=
set p mytimes= 【 定时关机请输入 时】
set p mytimef= 【 定时关机请输入 分】
at %mytimes%%mytimef% shutdown -s -t 0
这表示在mytime分执行shutdown -s -t 0操作。如果当前时间大于任务执行时间,则默认为明日执行,0为倒计时时间。
echo.
echo 〖现在将显示所有计划〗
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
at
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
pause
显示计划并暂停
goto loop

ccc
@echo off
color f2
echo.
echo.
echo.
echo 〖现在将设置取消系统自动关机〗
echo.
pause
shutdown -a
echo.
echo.
echo 〖现在将显示所有计划,在回车后取消计划且无须确认〗
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
at
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
pause
at del yes
取消所有计划并无须确认
cls
echo.
echo 〖系统已经取消自动关机〗
echo 〖系统已经取消所有计划任务〗
echo.
pause
goto loop

eee
@echo off
color f4
echo.
echo.
echo.
echo 现在将设置系统自动关机,请在此输入倒计时秒数后回车,系统将在设定时间自动关闭
set mytime=
此行是为了清mytime变量值,以免在不注意的情况下存在变量值,此为一种好的习惯.
set mytimes=0
赋值为0是为了使%mytimes%不致于无意义,下同.
set mytimef=0
set mytimem=0
set p mytimes= 【 倒计时关机请输入 小时数】
set a mytimes=%mytimes%3600
set p mytimef= 【 倒计时关机请输入 分钟数】
set a mytimef=%mytimef%60
set p mytimem= 【 倒计时关机请输入 秒 数】
color a3
mode con cols=30 lines=4
set a mytime=%mytimes%+%mytimef%+%mytimem%
SET wait=ping -n 2 127.0.0.1 ^^nul
for l %%n in (%mytime%,-1,0) do (
rem cls
echo
echo 〖%%n秒后自动关机〗
echo
%wait%
cls

)
shutdown -s -t 0
goto loop

fff
@echo off
color f9
echo.
echo.
echo.
echo 现在将设置系统每天运行自关机
echo.
set myopengs=
set p myopengs= 【重复设定请输

入单空格+回车,单次及最后一次设定请回车】
echo.
echo 请在此输入关机时间(如1200)后回车,系统将定时关闭
echo.
set mytimes=
set mytimef=
set p mytimes= 【 定时关机请输入 时】
set p mytimef= 【 定时关机请输入 分】
at %mytimes%%mytimef% everyM,T,W,Th,F,S,Su shutdown -s -f
echo.
echo 〖现在将显示所有计划〗
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
at
echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
pause
显示计划并暂停
if %myopengs%== goto fff
goto loop
********************************************************

rem rem命令为注释命令不执行,此行起为命令注释
rem @echo off 关闭回显
rem color f5 设定颜色,颜色属性由两个十六进制数字指定.第一个为背景,第二个则为前景。每个数字可以为以下任何值之一0=黑色8=灰色1=蓝色9=淡蓝色2=绿色A=淡绿色3=湖蓝色B=淡浅绿色4=红色C=淡红色5=紫色D=淡紫色6=黄色E=淡黄色7=白色F=亮白色
rem echo. 空出一行
rem echo 现在…… 回显一行字
rem set p time=快速关…… 设定函数并接收屏幕输入且显示提示信息
rem shutdown -s -t %time% -c 取消请运行shutdown -a 关机命令及参数,%time%为以函数方式赋值,取消请…为提示消息参数-c的值设置默认的控制台前景和背景颜色。
rem clsm 为清屏命令
rem loop 后加一名称为一程序段,首段先执行.
rem goto loop 返回到时所列该程序段.







以上代码保存为如“关机计划.bat”即可

取消关机

shutdowna



1.取消关机计划

开始-程序-附件-系统工具-任务计划
删除“At”就可以了

2.开始--运行--输入cmd--确定在打开的dos窗口输入at 回车查看列表 ,注意每行前面的数字,如果是1就再输入at 1 delete 回车如果还有2 ,就再输入at 2 delete

相关主题