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

Windows
Windows Vista系统局域网的FTP服务器的打造
Vista下jusched.exe进程与禁用
修改注册表通过自动更新安装Vista SP2 RC
Internet Explorer 8(IE8)简体中文版de 卸载
解析Windows Vista系统中的“远程桌面”用法
UC2008聊天室在Vista系统下的立体声混音设置方法
解决催化剂8.11驱动bug导致Vista x64双卡交火蓝屏问题
丢失的Windows Vista系统声音的找回
控制Windows Vista下窗口动画速度的办法
浅谈微软和苹果各自的字体平滑,反锯齿,和次像素渲染技术
完整版的Windows Vista系统开机加速全攻略
在Vista系统下.NET开发者应该考虑的五个安全问题
Vista系统下硬盘IDE模式安装后开启AHCI的方法
让Windows Vista的资源管理器加上标题的方法
Windows Vista系统下彻底屏蔽Office正版增值计划的提示
Windows下玩转Tab 键提升电脑操作效率
Windows中盘符的管理与应用
图解Windows Vista下java环境变量的配置
AMD Fusion游戏工具在Intel平台上的运行
自己动手轻松制作闪游浏览器个性酷靓皮肤

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


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