Ping网络中的所有IP并将输出存储在文本文件中

时间:2019-03-01 23:03:01

标签: batch-file

我几天前发布了此消息,但仍然存在一些问题。请帮助。这是我的代码

@echo off
rem This script pings all IPAdresses on an Xfinity Router. 
::v1.2 - BTE - 01Mar19
::
for /L %%i in (1,1,254) DO ping -n 1 10.0.0.%%i | findstr "ms" && (echo 10.0.0.%%i)>>"pingable_ips.txt"

上面是一个批处理文件,我试图创建该文件以ping网络上的所有IP地址,然后将所有可ping的IP写入文本文件。经过其他人的一些故障排除后,我发现它至少可以ping通网络上的所有IP。我仍然无法获取批处理文件来创建具有可ping IP的文本文件。

此批处理文件从10.0.0.110.0.0.254一直运行,但是此后停止。

编辑:谢谢,我知道了!

1 个答案:

答案 0 :(得分:0)

虽然我不知道您的代码出了什么问题,但我建议以下代码不会产生任何错误/不正常行为,除非这是您的错:

@echo off
rem This script pings all IPAdresses on an Xfinity Router. 
rem v1.2 - BTE - 01Mar19

for /L %%A IN (1 1 254) do (
    (ping -n 1 10.0.0.%%A | findstr "ms") && (
        echo 10.0.0.%%A>>"pingable_ips.txt"
    ) || (
        echo Failed to find string "ms" when pinging 10.0.0.%%A!
    )
)

或一行:

@echo off
rem This script pings all IPAdresses on an Xfinity Router. 
rem v1.2 - BTE - 01Mar19

for /L %%A IN (1 1 254) do (ping -n 1 10.0.0.%%A | findstr "ms") && (echo 10.0.0.%%A>>"pingable_ips.txt") || (echo Failed to find string "ms" when pinging 10.0.0.%%A!)

实际上,我的代码检查命令ping -n 1 10.0.0.%%A | findstr "ms"是否将errorlevel EQU al返回到0。如果是,则运行命令echo 10.0.0.%%A>>"pingable_ips.txt"。如果否,它将运行echo Failed to find string "ms" when pinging 10.0.0.%%A!