中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 15:35
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 急问:单步可以执行,批处理执行不了,怎么回事?
可打印版本  751 / 6
第1楼 icydawn 发表于 2007-11-25 11:46
初级用户 发帖 22 积分 54
急问:单步可以执行,批处理执行不了,怎么回事?
小弟写了个批处理,本来是看到学校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
第2楼 yiyepianzhou 发表于 2007-11-25 11:51
初级用户 发帖 47 积分 138
把for中的%i改为%%i
第3楼 icydawn 发表于 2007-11-25 11:56
初级用户 发帖 22 积分 54
谢谢
但是在命令行里面,单条命令输入进去,可以正常执行,在批处理的时候就执行不了,是怎么回事,盼望赐教! 谢谢!!
第4楼 scriptor 发表于 2007-11-25 12:33
银牌会员 发帖 555 积分 1,187
%%i 只能在bat文件中 作为变量应用
%i 只在命令行下起作用
第5楼 icydawn 发表于 2007-11-25 12:52
初级用户 发帖 22 积分 54
谢谢!
可是现在批处理还有个问题,就是使用find那条语句,在bat下没有办法正确搜索到string"Lost = 4 (100% loss)",并显示行号,
---------- CONNECT0.BLUESTAR: 0
命令行还是可以显示的
---------- CONNECT0.BLUESTAR: 1
谢谢各位大虾!!!
第6楼 scriptor 发表于 2007-11-25 13:33
银牌会员 发帖 555 积分 1,187
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是什么??
把这个去掉,再试一试
第7楼 zjl5 发表于 2007-11-25 17:41
初级用户 发帖 15 积分 82
ping -n 1 www.baidu.com>nul && echo ok || shutdown -s -t 30
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023