Board logo

标题: [网络连接] PING命令查找IP地址是否能够通的批处理如何精简? [打印本页]

作者: lucyve    时间: 2010-7-14 22:35     标题: PING命令查找IP地址是否能够通的批处理如何精简?

尊敬的各们老师,各位高手,我们单位有十几个摄相头,每个摄相头对应一个IP地址,如果,一个一个点击去检查的话,大概要半个小时左右,小弟我利用PING这个命令能否PING的通,编了一个批处理,如果PING的通,则表示该摄相头可以正常监控,谢谢大家帮我指点一下,看能否简化一下,谢谢
@ping 11.189.253.130>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位值班室>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位值班室>>错误报告RT.txt

@ping 11.189.253.136>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位2号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位2号位置>>错误报告RT.txt

@ping 11.189.253.132>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位3号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位3号位置>>错误报告RT.txt

@ping 11.189.253.133>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位4号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位4号位置>>错误报告RT.txt

@ping 11.189.253.134>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位5号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位5号位置>>错误报告RT.txt

@ping 11.189.253.135>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位6号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位6号位置>>错误报告RT.txt

@ping 11.189.253.140>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位7号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位7号位置>>错误报告RT.txt

@ping 11.189.253.137>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位8号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位8号位置>>错误报告RT.txt

@ping 11.189.253.138>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位9号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位9号位置>>错误报告RT.txt

@ping 11.189.253.147>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位10号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位10号位置>>错误报告RT.txt

@ping 11.189.253.143>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位11号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位11号位置>>错误报告RT.txt

@ping 11.189.253.131>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位12号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位12号位置>>错误报告RT.txt

@ping 11.189.253.139>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位13号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位13号位置>>错误报告RT.txt

@ping 11.189.253.141>查勤报告.txt
@if %ERRORLEVEL% == 1 @echo 单位14号位置>>错误报告RT.txt  
@findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 @echo 单位14号位置>>错误报告RT.txt

[ 本帖最后由 lucyve 于 2010-7-15 11:07 编辑 ]
作者: hfg1977    时间: 2010-7-15 14:34

在红色位置填写,你的地址,以逗号隔开

for %%a in (1,2,3,4) do (
ping /n 2 11.189.253.%%a>查勤报告.txt
if %ERRORLEVEL% == 1 echo 单位值班室>>错误报告RT.txt
findstr /i /c:"Destination net unreachable" 查勤报告.txt
@if %ERRORLEVEL% == 0 echo 单位值班室>>错误报告RT.txt
)
最简化写法:
  1. @echo off
  2. for %%a in (1,2,3,6) do (
  3. ping /n 1 192.168.1.%%a>nul||echo 192.168.1.%%a>>工作不正常的摄像头IP.txt
  4. )
  5. start notepad.exe 工作不正常的摄像头IP.txt
复制代码

[ 本帖最后由 hfg1977 于 2010-7-24 14:48 编辑 ]
作者: lucyve    时间: 2010-7-15 17:11

谢谢指教,可是,我没有看到红色的地方啊?再次感谢!
作者: pgfj18    时间: 2010-7-24 16:32

  1. @echo off
  2. set a_130=单位值班室
  3. set a_136=单位2号位置
  4. set a_132=单位3号位置
  5. set a_133=单位4号位置
  6. set a_134=单位5号位置
  7. set a_135=单位6号位置
  8. set a_140=单位7号位置
  9. set a_137=单位8号位置
  10. set a_138=单位9号位置
  11. set a_147=单位10号位置
  12. set a_143=单位11号位置
  13. set a_131=单位12号位置
  14. set a_139=单位13号位置
  15. set a_141=单位14号位置
  16. if exist c:\错误报告RT.txt del c:\错误报告RT.txt
  17. echo 检测中,请稍后……
  18. echo.
  19. echo PING不通的位置:
  20. echo.
  21. for %%i in (130 136 132 133 134 135 140 137 138 147 143 131 139 141) do ping 11.189.253.141.%%i /n 1 >nul||call echo %%a_%%i%%
  22. echo.
  23. pause
复制代码

作者: pgfj18    时间: 2010-7-24 16:35

本来想用
start /min cmd /c "ping 11.189.253.141.%%i || call echo %%a_%%i%% >> c:\错误报告RT.txt
加快速度的,不知为什么有时会漏一两个,所以就用上面的那个就好啦,速度还行!!!~
你也只有十几个摄相头嘛~!~!~!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2