标题: [系统相关] 批处理shutdown命令根据不同的时间段执行相应的定时关机方案 [打印本页]
作者: nxl 时间: 2009-1-1 01:59 标题: 批处理shutdown命令根据不同的时间段执行相应的定时关机方案
- if %time% gtr 00:00 if %time% lss 06:00 Shutdown -s else at 00:00 shutdown -s
复制代码
大家帮我看看这个句子哪里出了问题...为什么运行之后没什么反应?
我要实现的是如果开机时间不到00:00就在到00:00的时候关机..如果开机时时间是在00:00到06:00之间的话则马上关机.
作者: Batcher 时间: 2009-1-1 02:01
- if ... (
- ...
- ) else if ... (
- ...
- ) else (
- ...
- )
复制代码
作者: yslyxqysl 时间: 2009-1-1 12:31
if 1%time:~0,2%%time:~3,2% lss 10600 Shutdown -s else at 00:00 shutdown -s
作者: nxl 时间: 2009-1-1 23:30
不行啊...按照一楼的方法做的还是不行...
代码:
if %time% gtr 00:00 %time% lss 06:00 {
Shutdown -s
} else {
at 00:00 shutdown -s
}
而二楼写的我根本看不懂,能不能说明白点??
作者: nxl 时间: 2009-1-1 23:34
不行啊...按照一楼的方法做的还是不行...
代码:
if %time% gtr 00:00 && %time% lss 06:00 {
Shutdown -s
} else {
at 00:00 shutdown -s
}
而二楼写的我根本看不懂,能不能说明白点??
[ 本帖最后由 nxl 于 2009-1-1 23:35 编辑 ]
作者: Batcher 时间: 2009-1-2 00:43 标题: 回复 5楼 的帖子
你的if语法是错误的,建议多看教程。
批处理不像C语言那样使用花括号,建议仔细观察。
这才是正确的语法:- if %time% gtr 00:00 (
- if %time% lss 06:00 (
- Shutdown -s
- )
- ) else (
- at 00:00 shutdown -s
- )
复制代码
作者: nxl 时间: 2009-1-2 01:29
谢谢6楼的兄弟....我是刚开始学批处理的.所以还有很多不懂的地方.谢谢指教.我会多抽时间看教程的..
但我复制你给出的代码运行之后没反应..还是不能解决问题.
另外现在我想到一个办法就是用两个句子去执行
代码:
if %time% lss 06:00 shutdown -s
if %time% gtr 06:00 at shutdown -s
这样就可以实现如果开机时间是在06:00到23:59之间的话就在00:00时关机;如果开机时间是在00:00到06:00之间的话就马上关机. 但是如果把时间改成06:00到01:00可以开机 和 01:00到06:00不能开机的话就不能实现了.
作者: nxl 时间: 2009-1-2 01:33
又错了...
那代码应该是:
if %time% lss 06:00 shutdown -s
if %time% gtr 06:00 at 00:00 shutdown -s
作者: Batcher 时间: 2009-1-2 02:58 标题: 回复 7楼 的帖子
6楼的代码只是修改了你5楼代码的语法错误
代码还存在逻辑错误
这才是正确的逻辑:- @echo off
- if %time% gtr 00:00 (
- if %time% lss 06:00 (
- Shutdown -s
- ) else (
- at 00:00 shutdown -s
- )
- ) else (
- at 00:00 shutdown -s
- )
复制代码
作者: Batcher 时间: 2009-1-2 03:00 标题: 回复 8楼 的帖子
建议多用
if ... (
...
) else (
...
)
你这种写法可能会降低执行效率
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |