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

Windows
实用技巧:清除系统托盘图标
微软IE浏览器非常规修改全攻略
个人隐私 你的系统文件保护好了吗?
XP系统“公文包”六例应用技巧
Windows中合理设置共享文件夹访问权限
Windows XP操作系统内存优化指南
巧用脚本恢复忘记的XP用户密码
灵活应用Win XP系统硬件配置文件
“右键”打尽文件夹与文件的管理
制作多功能全自动64位安装光盘
最大挑战 系统出现问题时的应急方案
走出WindowsXP Ghost最小化克隆误区
操作系统下,WinXP轻而易举变“苹果”
制作WinXP万能镜像
输入法的一些小技巧
IE同样实现多线程断点续传
WinRAR 也同样可以能管理我的桌面
手把手教你清理系统垃圾文件
移花接木 Windows XP两步变Vista
安全 俄罗斯系统监视器应用手册

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 196 ::
收藏到网摘: 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文件即可。