批处理文件不保存日志中的结果

时间:2012-12-13 13:03:50

标签: batch-file dos

我使用下面的批处理文件来查询IP列表,然后将其保存到LOG.txt。

@echo off 
cls 
for /f "tokens=*" %%x in (IP.txt) do ( 
echo Checking %%x 
ping -n 1 %%x > nul 
if not errorlevel 1 ( 
echo %%x >> LOG.txt 
) 
)

但我在LOG.txt

中只看到IP.txt的第一个enrty

虽然在运行批处理文件时我看到了

Checking 1.2.3.4
Checking 1.2.3.5

等。 所以它暗示批处理文件逐行读取IP.txt。

任何人都可以帮助制作这个批处理文件,使LOG.txt中的输出按预期工作。

1 个答案:

答案 0 :(得分:1)

Andriy M在他的评论中提到的是,如果PING成功,你的代码只会写入IP地址。

由于您的IF语句,如果出现错误,将不会写入IP地址。如果超时,PING将生成错误,或者PING无法找到主机。

如果您想要写入所有地址,则需要更改逻辑。