[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 如何通过批处理找出网络中不在线的设备?

初学批处理,请大家多多指教!
在一个网络中,有100多台设备,ip段为:192.168.1.100~192.168.1.199,想通过批处理找出那些不在线的设备,我自己做了设想,如下:

  1. @echo off
  2. if exist D:p.txt del D:p.txt
  3. ping 192.168.1.100 >D:p.txt
  4. type D:p.txt | find "Request timed out" && echo "100不在线" >>D:a.txt
  5. if exist D:p.txt del D:p.txt
  6. ping 192.168.1.101 >D:p.txt
  7. type D:p.txt | find "Request timed out" && echo "101不在线" >>D:a.txt
  8. ………………
复制代码
可是照这样的思路做下去的话,就没有批处理的味道了,请各位大侠指教!

[ 本帖最后由 yinjihanhua 于 2011-1-4 14:13 编辑 ]

  1. @echo off
  2. for /l %%a in (100,1,199) do ping 192.168.1.%%a -n 1 -w 100 >nul 2>nul||echo %%a不在线
  3. pause
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

楼主和我一样。。先看了论坛的for循环教学就会知道怎么做了。
菜鸟学批,一批一大批~~~~~~

TOP

原帖由 hanyeguxing 于 2011-1-3 19:49 发表
@echo off
for /l %%a in (100,1,199) do ping 192.168.1.%%a -n 1 -w 100 >nul 2>nul||echo %%a不在线
pause


2楼的代码是不是该在PING前面加个@符号,否则执行会报两个ECHO结果。

TOP

回复 4楼 的帖子

如果说回显,已经被 echo off 关闭了。
如果说 ping 的返回,已经被 >nul 2>nul 屏蔽了。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

是啊 。2楼代码没错的。。。。。。
菜鸟学批,一批一大批~~~~~~

TOP

返回列表