
标题: [网络连接] [己解决]批处理读取ip批量ping [打印本页]
作者: keshun 时间: 2011-6-25 19:59 标题: [己解决]批处理读取ip批量ping
本帖最后由 keshun 于 2011-6-25 21:38 编辑
请教高手,批处理自动读取a.txt的IP进行ping,对能ping通的IP输出到b.txt
a.txt内容
202.175.3.8
202.96.199.133
61.128.128.68
202.101.115.55
202.100.64.68
202.96.128.86
202.103.224.68
202.98.192.67
202.100.192.68
作者: batman 时间: 2011-6-25 20:01
楼主首先可以讲一下你这下做的意图何在吗?
作者: 601997526 时间: 2011-6-25 20:07
- for /f %%i in (a.txt) do (ping /n 1 %%i&&echo,%%i>>b.txt)
复制代码
作者: keshun 时间: 2011-6-25 20:15
本帖最后由 keshun 于 2011-6-25 20:18 编辑
我这边开始封路由,打不开网页,只能设置异地能ping通的DNS进行设置才能打网页。
网上一搜索,一大堆的DNS地址,用批量ping进行筛选
作者: keshun 时间: 2011-6-25 20:23
请教下,能不能把能ping的DNS,第一个ping值同时写入到b.txt
作者: Batcher 时间: 2011-6-25 20:27
4# keshun
试试Google DNS
8.8.8.8
8.8.4.4
还有OpenDNS
208.67.222.222
208.67.220.220
作者: Rasm 时间: 2011-6-25 20:40
楼主是黑客,哈哈,是黑阔
作者: keshun 时间: 2011-6-25 20:42
6# Batcher
刚ping过Google DNS,OpenDNS 延时300多还有丢包现象。
看来只能自己找ping值小的DNS,版主能否帮我编个代码,批量ping,把DNS与第一个ping值同时输出,方便我筛选。
作者: Batcher 时间: 2011-6-25 20:51
8# keshun
参考:批处理自动获取最快速的QQ服务器
http://bbs.bathome.net/thread-4193-1-1.html
作者: batman 时间: 2011-6-25 21:22
- @echo off&setlocal enabledelayedexpansion
- for /f %%a in (a.txt) do (
- for /f "tokens=5 delims==m" %%b in ('ping /n 1 %%a^|findstr "from"') do (
- if not defined min (
- set /a min=%%b
- ) else (
- if !min! gtr %%b set /a min=%%b&set "_!min!=%%a"
- )
- )
- )
- echo 经检测最适宜的dns为:!_%min%!
- pause>nul
复制代码
作者: CrLf 时间: 2011-6-25 22:45
本帖最后由 zm900612 于 2011-6-25 23:05 编辑
来一个高效的,并行的进程数量可调节,不过其实不是很准:- @echo off&setlocal enabledelayedexpansion>nul 2>nul 3>nul 4>nul
- set /a 并行=32,等待=1000
- echo %time% >con
- for /f "delims=" %%a in (a.txt) do (
- del /f "%temp%\*.$p"
- set /a "n+=1","num+=1">"%temp%\%%a.$p"
- title !num!: %%a
- if !n! geq %并行% (
- set n=0
- for %%b in ("%temp%\*.$p") do set /a n+=1
- if !n! gtr 0 cmd /c exit
- )
- start /b cmd /c "ping>"%temp%\%%a.$p" /n 1 /w %等待% %%a&&echo>>b.txt %%a"
- )
- echo 全部ping完
- echo %time% >con
- pause&exit
复制代码
作者: Hello123World 时间: 2011-6-27 12:59
- @echo off
- (for /f %%i in (a.txt) do ping %%i /n 1 && echo %%i)>b.txt
- start b.txt
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |