【发布时间】:2014-03-25 05:27:43
【问题描述】:
我需要扫描 IP 范围 172.18.x.x 到 172.25.x.x 的网络中的多个系统,并检查它们是否处于活动状态,然后将结果转储到文件中。 以下是脚本:
@echo off
for /L %%x in (18,1,25) do (
for /L %%y in (1,1,254) do (
for /L %%z in (1,1,254) do (
ping -n 1 172.%x.%y.%z | find "Reply" > NUL
IF NOT ERRORLEVEL 1 (set state=UP) ELSE (set state=DOWN)
echo 172.%%x.%%y.%%z is %state% >> state.txt
)))
但是,即使某些 IP 地址未使用,结果也得出结论,每个系统都处于“启动”状态。
脚本有问题吗?
【问题讨论】:
-
用 ping -n 1 172.% 替换 ping -n 1 172.%x.%y.%z 后似乎在我的系统上运行良好%x.%%y.%%z 在脚本中。没有进行其他更改。
标签: windows batch-file