对于一些没有启用DHCP的局域网,我们在给自己手动指定IP时,或者有必要给自己设置静态IP时,担心IP地址已经被使用,产生冲突,可以通过ping这个IP地址来测试是否正在被使用。但是每个IP都去试一下比较麻烦,下面提供一个批处理命令自动输出结果。
for /l %p in (1,1,254) do @ping 192.168.1.%p -n 1 -w 20 |find "reply from" /i
这个命令将以步进为1执行 ping 192.168.1.1至192.168.1.254,并以管道方式将结果传递给find。find命令将含有“reply from”的结果输出,也就是能够ping通的结果输出,这样我们就能知道1-254范围内能ping通的IP地址。
注意,中文XP系统的ping结果返回的信息关键字是"reply from ***",而中文Win7系统ping命令返回的是"来自***的回复",所以可以使用find "来自"关键字筛选结果,也就是
for /l %p in (1,1,254) do @ping 192.168.1.%p -n 1 -w 20 |find "来自" /i
另外,如果将这些命令保存到批处理文件执行的话,请注意要转义字符%的使用,需要在%p之前再添加一个百分号。还需要在最后加上pause命令以等待用户输入,方便查看输出结果。
完整的批处理内容如下:
XP系统:
for /l %%p in (1,1,254) do @ping 192.168.1.%%p -n 1 -w 20 |find "reply from" /i
pause
Win7系统:
for /l %%p in (1,1,254) do @ping 192.168.1.%%p -n 1 -w 20 |find "来自" /i
pause