当前位置: 首页 > 图文教程 > 操作系统 > Windows > Windows XP自动关机的批处理文件

Windows
Windows7 用msinfo32查看版本号
系统技巧 制作闪存启动盘的思路
Windows7 不能打开.hlp文件问题解决
win7 以system帐户身份登录系统删除文件
Windows7 不能正常运行程序的解决方法
Windows7 快捷键大全 提高您的工作效率
安装Windows7 系统大硬盘分区方案
让你的windows7 系统更加完美的12种设置技巧
Windows7 系统应用Ghost软件注意事项
Windows7 新特性 Jump List
揭秘Win7 Vista下WinSXS超大文件夹.
Win7 判断自己的电脑是否被别人用过
Windows7 自动登录设置方法
Windows7 正版安装错误代码 0XC004F061
卸载双系统下面的Windows7的方法
解决Windows7 播放影音的锯齿问题
确保安全 Windows7十大禁忌服务
禁用Windows7的光盘刻录功能及去除快捷方式箭头
Windows7 无法删除文件的删除方法
Win7与winXP的双系统安装及Ghost注意事项

Windows XP自动关机的批处理文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 139 ::
收藏到网摘: n/a

  关机程序网络上很多,今天咱们自个用批处理轻轻松松的DIY一个,原理超级简单,看完之后自己做一个自己的定时关机程序。

  最近出了不少电影,自己一个人也懒得去电影院了,就到网上下载回来晚上没事的时候看。白天要上班,开着电脑下载电影,用自动关机程序设定好时间,等电影差不多下载完成了,就自动关机。网上定时关机程序一大把,可咱就是想弄一个比较个性化的,自己DIY一个。

  先来看看原理,Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中,把这个程序跟批处理结合一下就可以DIY一个自动关机程序出来了。

  知道了相关原理之后,开始写批处理了:
    @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 现在将设置系统自关机,请在此输入关机时间(如12:00)回车,系统将定时自动关闭
    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 请在此输入关机时间(如12:00)后回车,系统将定时关闭
    echo.
    set mytimes=
    set mytimef=
    set /p mytimes=            【 定时关机请输入 时】:
    set /p mytimef=            【 定时关机请输入 分】:
    at %mytimes%:%mytimef% /every:M,T,W,Th,F,S,Su shutdown -s -f
    echo.
    echo                      〖现在将显示所有计划〗
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    at
    echo ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
    pause
    ::显示计划并暂停
    if "%myopengs%"==" " goto :fff
    goto loop

  把批处理拷贝下来,复制到记事本另存为bat文件即可。