批处理 定时自动关机程序

我的思路是这样的:
使用两个批处理task.BAT和shutdown.BAT来实现定时自动关机
task.BAT已加入注册表中RUN项,开机自动运行。task.BAT的
作用是将shutdown.BAT的内容列入计划任务。shutdown.BAT的内容是定
时关机,关机前有120秒倒数提示,且可以在120秒内选择取
消关机,如超时没有操作则默认关机。

下面是我写的两个批处理,虽然可以实现关机但是美中不足的是
当关机时shutdown.BAT的内容不会显示,也就是没有提示就关机了,还有
就是没有倒数的效果,请高手按我的上述思路指点下!

task.BAT
------------------------------
@echo off
at 23:20 F:\路径\shutdown.bat
@echo off

-------------------------------
shutdown.BAT
----------------------------------
@ echo off
color b
mode con: cols=45 lines=25
echo.
@ at 23:20 shutdown -s -t 120

echo. =============================
echo. 定时自动关机程序
echo. =============================

echo. --------------------------------------------
echo. 系统将在120秒后关机,请保存所有工作然后退出....
pause
cls

@echo off

一个就够了,添加到启动项.有窗口.动态显示时间.按任意键取消.如果你不想看到系统弹出的那个关机对话框的话我可以把它去掉.

@echo off
if not "%~1"=="" goto %~1
at 23:20 /interactive "%~0" shutdown
exit
:shutdown
start "" /b %0 cancle
color b
mode con: cols=45 lines=25
set "t=120"
title 定时自动关机程序
echo wscript.sleep 5000>sleep.vbs
start "" /b shutdown.exe -s -t 120
:show
cls
echo.
echo. =============================
echo. 定时自动关机程序
echo. =============================
echo. --------------------------------------------
echo. 系统将在%t%秒后关机,请保存所有工作然后退出....
echo. --------------------------------------------
echo. 或者按任意键取消关机....
sleep.vbs
set /a t-=5
if %t% geq 0 goto show
exit
:cancle
pause>nul
shutdown.exe -a
del sleep.vbs
exit
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-09
将第二个批处理shutdown.bat修改如下:

@ echo off
color b
mode con: cols=45 lines=25
for /l %%a in (120 -1 0) do (
echo.
echo 系统将在【%%a】秒后关机,请保存所有工作后退出.
echo.
echo 取消关机请直接关闭当前程序即可!
ping /n 2 127.1 >nul
cls
)
shutdown.exe /s /t 0
第2个回答  2008-12-09
不用你那么麻烦,每天23:20执行,有提示120秒,我创建的路径是C:\temp\task.bat你可以改掉

@sc config schedule start= auto 1>nul 2>nul
@net start schedule 1>nul 2>nul
@if not exist C:\temp mkdir C:\temp
@if exist C:\temp\task.bat del /Q C:\temp\task.bat
@echo shutdown -s -f -t 120>>C:\temp\task.bat
@schtasks /delete /F /TN "haltpc" 1>nul 2>nul
@schtasks /create /ru system /sc daily /tn "haltpc" /st 23:20:00 /tr "C:\temp\task.bat"
exit
第3个回答  2008-12-09
@echo off
at 23:20 shutdown -s -t 120 -c "您好,将回在120秒后关机"

这样就可以了
第4个回答  2008-12-09
shutdown.BAT写入:
@shutdown -s -t 120

将会提示120秒后关机
第5个回答  2008-12-09
Windows XP自动关机的实现
如果你想出门,但电脑又正在进行工作,这时就要用到自动关机。大多数实现自动关机的方法都是使用一些第三方软件,这样不仅麻烦,而且为实现这个小功能而专门动用一个软件,显的小题大做了!其实Windows XP(Windows 2000也可以)自身就具备定时关机的功能,下面我们就来看看如何实现Windows XP的自动关机。

Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。

比如你的电脑要在23:00关机,可以选择“开始→运行”,输入“at 23:00 Shutdown -s”,这样,到了23点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 120”,这里表示2分钟后自动关机,“120”代表2分钟。

设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。

Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如“-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数,大家可以在Shutdown.exe中按需使用。

-f:强行关闭应用程序

-m \\计算机名:控制远程计算机

-i:显示图形用户界面,但必须是Shutdown的第一个选项

-l:注销当前用户

-r:关机并重启

-t 时间:设置关机倒计时
相似回答