标题: 急问:单步可以执行,批处理执行不了,怎么回事?
[打印本页]
作者: icydawn
时间: 2007-11-25 11:46
标题: 急问:单步可以执行,批处理执行不了,怎么回事?
小弟写了个批处理,本来是看到学校BBS上的同学想要一个判断断网自动关机的程序.
可是按照指令,一步步输入指令,可以正常完成功能,但是在一个BAT文件中就执行不了了,请问怎么会这样,谢谢!
del *.bluestar /f /q
ping
www.baidu.com>connect0.bluestar
find /c "Lost = 4 (100% loss)" connect0.bluestar>connect1.bluestar
::rem 就执行到这里不继续了,好象还出错了!
for /f "eol= tokens=3 delims= " %i in (connect1.bluestar) do echo Complete!!>%i.bluestar
if exist 1.bluestar shutdown -s -t 30
作者: yiyepianzhou
时间: 2007-11-25 11:51
把for中的%i改为%%i
作者: icydawn
时间: 2007-11-25 11:56
谢谢
但是在命令行里面,单条命令输入进去,可以正常执行,在批处理的时候就执行不了,是怎么回事,盼望赐教! 谢谢!!
作者: scriptor
时间: 2007-11-25 12:33
%%i 只能在bat文件中 作为变量应用
%i 只在命令行下起作用
作者: icydawn
时间: 2007-11-25 12:52
谢谢!
可是现在批处理还有个问题,就是使用find那条语句,在bat下没有办法正确搜索到string"Lost = 4 (100% loss)",并显示行号,
---------- CONNECT0.BLUESTAR: 0
命令行还是可以显示的
---------- CONNECT0.BLUESTAR: 1
谢谢各位大虾!!!
作者: scriptor
时间: 2007-11-25 13:33
Quote: |
Originally posted by icydawn at 2007-11-25 11:46:
小弟写了个批处理,本来是看到学校BBS上的同学想要一个判断断网自动关机的程序.
可是按照指令,一步步输入指令,可以正常完成功能,但是在一个BAT文件中就执行不了了,请问怎么会这样,谢谢!
del *.bluestar /f /q
ping www.baidu.com>connect0.bluestar
find /c "Lost = 4 (100% loss)" connect0.bluestar>connect1.bluestar
::rem 就执行到这里不继续了,好象还出错了!
for /f "eol= tokens=3 delims= " %i in (connect1.bluestar) do echo Complete!!>%i.bluestar
if exist 1.bluestar shutdown -s -t 30 |
|
你那个find后面 connect0.bluestar是什么??
把这个去掉,再试一试
作者: zjl5
时间: 2007-11-25 17:41
ping -n 1
www.baidu.com>nul && echo ok || shutdown -s -t 30