标题: [网络连接] 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
)
最简化写法:- @echo off
- for %%a in (1,2,3,6) do (
- ping /n 1 192.168.1.%%a>nul||echo 192.168.1.%%a>>工作不正常的摄像头IP.txt
- )
- start notepad.exe 工作不正常的摄像头IP.txt
-
复制代码
[ 本帖最后由 hfg1977 于 2010-7-24 14:48 编辑 ]
作者: lucyve 时间: 2010-7-15 17:11
谢谢指教,可是,我没有看到红色的地方啊?再次感谢!
作者: pgfj18 时间: 2010-7-24 16:32
-
- @echo off
- set a_130=单位值班室
- set a_136=单位2号位置
- set a_132=单位3号位置
- set a_133=单位4号位置
- set a_134=单位5号位置
- set a_135=单位6号位置
- set a_140=单位7号位置
- set a_137=单位8号位置
- set a_138=单位9号位置
- set a_147=单位10号位置
- set a_143=单位11号位置
- set a_131=单位12号位置
- set a_139=单位13号位置
- set a_141=单位14号位置
- if exist c:\错误报告RT.txt del c:\错误报告RT.txt
- echo 检测中,请稍后……
- echo.
- echo PING不通的位置:
- echo.
- 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%%
- echo.
- 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://www.bathome.net/) |
Powered by Discuz! 7.2 |