标题: 在for中使用goto的问题
[打印本页]
作者: techwise
时间: 2007-12-4 10:49
标题: 在for中使用goto的问题
for /f "delims=" %%i in (ip.txt) do (
ping %%i -n 1 -l 50 -w 2 | find ""Ping request could not find host %%i." /i
if not errorlevel 1 echo %%i 计算机名不正确 >> error.log & goto end
.......
echo %%i 执行命令成功 >>d:\result\succeed.log
:end
echo %%i )
每次执行的时候以遇到计算机名称不正确的,就直接跳出for循环了不执行后面的了,请高位高手帮忙看一下是什么问题??
作者: huahua0919
时间: 2007-12-4 11:03
ping n 5=127.1>nul
作者: techwise
时间: 2007-12-4 11:07
Quote: |
Originally posted by huahua0919 at 2007-12-4 11:03 AM:
ping n 5=127.1>nul |
|
2楼的是什么意思?
作者: techwise
时间: 2007-12-4 11:08
Quote: |
Originally posted by techwise at 2007-12-4 11:07 AM:
2楼的是什么意思? |
|
你的意思是延时,那添加到那儿??
作者: mkd
时间: 2007-12-4 12:12
http://www.cn-dos.net/forum/view ... ighlight=errorlevel
[
Last edited by mkd on 2007-12-4 at 12:13 PM ]
作者: techwise
时间: 2007-12-4 12:37
这位老兄的意思是if语句的问题??
当我把语句写成下面的样式时就没出错了:
for /f "delims=" %%i in (ip.txt) do (
ping %%i -n 1 -l 50 -w 2 | find ""Ping request could not find host %%i." /i
if not errorlevel 1 (
echo %%i 计算机名不正确 >>d:\result\error.log
) else (
echo %%i 执行命令成功 >>d:\result\succeed.log)
)
那说明是goto语句的问题,我在论坛中也找到了一个相似的帖子:
http://www.cn-dos.net/forum/view ... 1&highlight=for
我也怀疑是for中使用goto语句的问题,我发出来是想高手解释一下是为什么,有没有办法解决??
作者: mkd
时间: 2007-12-4 19:52
是我看錯了。抱歉啊~