Board logo

标题: [文本处理] 求助批处理中如何提高ping的效率? [打印本页]

作者: lwj96528    时间: 2009-3-21 03:28     标题: 求助批处理中如何提高ping的效率?

自己写了一段批处理,ping不同网段的计算机,但ping到100以上的地址发现速度就很慢......请高手指点如何提高ping的效率.

setlocal EnableDelayedExpansion
for /f "tokens=1,2 delims=;" %%a in (IP2.txt) do (set IP=%%b
                               echo ------------------------------------->>z.txt
                               echo #######%%a#########>>z.txt
                               for /l %%c in (1,1,249) do (ping  !IP!%%c -w 1 -n 1 | findstr TTL && echo *****!IP!%%c*****>>z.txt)
)


IP2.txt的内容:
aa办公;20.1.183.1
qq办公;20.1.146.1
ee办公;20.1.158.1
hh办公;20.1.175.1
gg办公;20.1.159.1
作者: Batcher    时间: 2009-3-21 11:35

ping40台主机只需5秒钟
原文地址:http://www.cn-dos.net/forum/viewthread.php?tid=40890
  1. @echo off&setlocal enabledelayedexpansion
  2. if "%1" equ "" (set/a n=-9,m=0&echo %time%) else echo %1 %time%
  3. for /l %%a in (1 1 4) do if "%1" equ "%%a" goto p1
  4. for /l %%a in (1 1 4) do (
  5.         set /a n+=10
  6.         set/a m+=10
  7.         start/b %~s0 %%a !n! !m!
  8. )
  9. exit
  10. :p1
  11. for /l %%i in (%2 1 %3) do (
  12.         title 192.168.18.%%i
  13.         ping /n 1 /w 1 192.168.18.%%i >nul 2>nul&&echo 192.168.18.%%i
  14. )
  15. echo %1 %time%
  16. for /l %%a in (1 1 3) do if "%1" equ "%%a" exit
  17. rem 加if "%1" equ "%%a"判断,否则 (%终止量%-1)*(%终止量%)=n  退出n次。。。
  18. pause>nul&exit
复制代码
再来一个254线程扫描的,嘿嘿~:)

(用 Start 模拟 254线程,扫描 1-254 台主机约为 20 秒)


(运行前注意: 运行后同时开启 254 个窗口 ,因为是多线程嘛~:)
(       不过没什么,哈哈……请做好心理准备~:D 
(       但是,一个窗口不到1秒钟就闪完了,所以屏幕上视觉上也就8个窗口左右)


(下面代码当都扫描完成以后,会在当前目前生成一个名为 IP.TXT 的扫描日志,打开看就行了)
原文地址:http://www.cn-dos.net/forum/viewthread.php?tid=26056
  1. @echo off
  2. if [%1]==[] (Goto :Start) else (Goto :Ping)
  3. :Start
  4.         echo.ScanTime:%time%>ip.txt&&set "ip=61.149.20"
  5.         for /L %%i in (1,1,254) do Start %~s0 %ip%.%%i        
  6.         Goto :eof
  7. :Ping
  8.         ping %1 -n 1 -w 1 >nul&&echo %1 - OK!>>ip.txt
  9.         exit
复制代码
用第三方命令行工具nbtscan和gnu sort来将局域网扫描的mac地址处理成modiip的格式。
原文地址:http://www.cn-dos.net/forum/viewthread.php?tid=42427
获得的abc.txt:
192.168.10.8    WORKGROUP\ONLY208               00:1f:3c:2d:5f:f6 SHARING
192.168.10.222  WORKGROUP\ONLY202               00:1f:3c:28:43:2c SHARING
  1. @echo off
  2. type nul>"mac.ini"
  3. .\arc\nbtscan-1.0.35.exe -m 192.168.10.0/24 | .\arc\sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 >>abc.txt
  4. setlocal enabledelayedexpansion
  5. for /f "tokens=1-3 delims= " %%a in (abc.txt) do (
  6.   set mac=%%c
  7.   set mac=!mac::=!
  8.   set cname=%%b
  9.   >>"mac.ini" echo !mac!=%%a,!cname:~10!
  10. )
  11. pause
复制代码





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