标题: 用批处理写了个在指定时间段内关机的程序
[打印本页]
作者: 猫飞飞
时间: 2004-11-1 00:00
标题: 用批处理写了个在指定时间段内关机的程序
因为 windows xp 的 SHELL 程序已经增强啦 批处理的功能。
象是用 IF 可以对数字进行大小比较。 但是时间怎么比较呢? 看起来有点难度,其实也不难的。 看看我写的批处理。开机一执行这个批处理,
在早上 6:00 到 晚上 21:30 分内 不执行关机操作。 可以正常使用电脑
在晚上 21:30 到 早上 6:00 分内进行关机操作。
因为这个时间段,人通常是要睡觉啦!所以在这个时间段内一开机就会马上关机的。
@echo off
if %time% lss 00:00:00.00 goto 0_9 rem 0点
if %time% gtr 23:59:59.99 goto 0_9 rem 3点至9点
if %time% gtr 09:59:59:99 goto if1 rem 1点
if %time% gtr 19:59:59:99 goto if2 rem 2点
goto 10_23
:if1
if %time% lss 10:00:00:00 goto 0_9
goto 10_23
:if2
if %time% lss 20:00:00:00 goto 0_9
goto 10_23
:0_9
if %time% lss 6:00:00:00 goto exec
goto end
:10_23
if %time% gtr 21:30:00:00 goto exec
goto end
:exec
call shutdown /s /t 00
:end
exit
还可以用 windows xp 的那个计划任务程序。SCHTASKS 来创建一个每天在 21:31 执行这个批处理的计划.以便在计算机超过了 21:30 分关机。
批处理如下
c:
cd\
cd %systemroot%\system32
schtasks.exe /create /sc DAILY /st 21:31:00 /tn shutdown /tr c:\windows\time.bat
schtasks
如果创建成功就会提示你输入密码
返回“创建 计算机 shutdown 成功”
利用时间段内的控制。还可以 在开机时 杀死某个进程以及这个进程的所有子进程。用 windows xp 的 taskkill
大家试试吧。这个虽然是 windows xp 下的。但是所要制作批处理,还是 DOS 方面的内容。所以放在这里。
作者: 猫飞飞
时间: 2004-11-2 00:00

还可以windows xp .2003 下设置用户更改时间的限制。
但是尽管这样在windows 下无法修改系统时间,还可以在 MS-DOS 下或者 cmos 里更改时间的。不过这也已经足够啦~!

作者: val
时间: 2004-11-4 00:00
猫兄,这段批处理我是肯定要试用一下的,以前我也想过用批处理写一段智能关机程序,当时的环境是,我有一朋友在商场做计算机管理,由于每天都要定时关SQL服务器,所以每天都是偷不得懒的,周日也难得休息。当时,我想了一下批处理后,认为不行,原因是没法智能判断时间,所以最终我改用了PERL去实现。现在看到猫兄的,才突然发现自己对IF的扩展不够。而且,当时我的思路和猫兄也有一些差异。也是判断时间自然成了问题,当然,也有懒惰的因素,毕竟我当时觉得用PERL也能做到。所以最终也没用批处理。看到猫兄的批处理,真是让本人又亮了一下。