window XP下如何写一个批处理来进行ping某个网段并找出不在用的IP地址呢?

在网上搜索资料时查到一个这样的:
打开记事本,在窗口中输入如下的命令:  
  @Echo off
  date /t > IPList.txt
  time /t >> IPList.txt
  echo =========== >> IPList.txt
  For /L %%f in (1,1,100) Do Ping.exe -n 2 192.168.0.%%f   Find
  "Request timed out." & echo 192.168.0.%%f Timed Out >>
  IPList.txt & echo off
  cls
  Echo Finished!
  @Echo on
  Notepad.exe IPList.txt  
  将此文件存为PingIP.bat。  
  运行后,就会生成一个IPList.txt文件,里面记录了哪些IP地址Ping不通。  
  说明:1、此方法只只用于WinXP。2、要把里面的192,168.0修改成你所在的IP网段。3、而且如果某IP的计算机用了防火墙防止了Ping,也是判断不出来的。

---但是我自己把里面的内容copy到本地,然后按照上面所说的做了一个bat并修改了要ping的网段,但是好像不行,麻烦高手帮忙看看,谢谢!!

@echo off
for /L %%a in (1,1,250) do (
for /f "tokens=1-4*" %%i in ('"ping -n 1 192.168.1.%%a|findstr out"') do echo 192.168.1.%%a>>freeIP.txt
)
不用那么复杂,上面的代码就是把192.168.1.1~192.168.1.250中ping不通的都记录到freeIP.txt中。当然不通不代表一定是空闲的IP。追问

高手,膜拜下先,对了,能不能给点提示,怎么学习简单的cmd批处理呢?答案我就选你的了,我顺带问一下而已

追答

命令其实在windows帮助文件里面都有,不过要想系统地学习,可以上网搜一下教程,有很多的,再就是去dos联盟网站多看看,多问,里面有很多经典例子

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-24
有些IP地址拒绝ping,可以用arp方式查询。
ping -n 1 x.x.x.x
arp -a | find "x.x..x.x"
相似回答