找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33606|回复: 9

[网络连接] 批处理怎么自动ping多个ip并给出hosts格式?

[复制链接]
发表于 2011-11-5 06:08:04 | 显示全部楼层 |阅读模式
相当于我只有hosts表的域名部分,想从dns中把这些网址的ip自动解析出来,形成hosts格式的文本.
(因为教育网dns被污染,有些域名解析出假ip。所以想通过暂时设置8.8.8.8为dns,从这个里面得出正确ip,添加到hosts里。之后才更改回教育网dns)
··············································
自己从来没有弄过,只是看看网上的帖子研究了下。写了个这样的

for /f "tokens=2 delims=[]" %%i in ('ping  oauth.twitter.com') echo %%i oauth.twitter.com  >>E:\hosts.txt
for /f "tokens=2 delims=[]" %%i in ('ping  twitter.com')  echo %%i twitter.com  >>E:\hosts.txt
for /f "tokens=2 delims=[]" %%i in ('ping  www.twitter.com')  echo %%i www.twitter.com  >>E:\hosts.txt
for /f "tokens=2 delims=[]" %%i in ('ping  api.twitter.com')  echo %%i api.twitter.com  >>E:\hosts.txt
****
但是这样太麻烦。我有进60个网址经常需要更新ip,想用批处理从第一个文档中读取再输出到另一个文档
也就是把
  1. oauth.twitter.com  
  2. twitter.com  
  3. api.twitter.com  
  4. search.twitter.com  
复制代码
变成
  1. 199.59.148.13 oauth.twitter.com  
  2. 199.59.148.13 twitter.com   
  3. 199.59.149.232 api.twitter.com  
  4. 199.59.148.201 search.twitter.com  
复制代码
不知哪位大神帮个忙,非常感谢!!!
发表于 2011-11-5 07:44:53 | 显示全部楼层
  1. for /f "delims=" %%a in (1.txt) do (for /f "tokens=2 delims=[]" %%i in ('ping /n 1 %%a') do echo %%i %%a >>E:\hosts.txt)
复制代码

评分

参与人数 1技术 +1 收起 理由
wswj8888 + 1 感谢!

查看全部评分

发表于 2011-11-5 14:29:12 | 显示全部楼层
8.8.8.8 与8.8.4.4 为google的DNS服务器, 如果你能够访问, 可以直接在"网络连接"属性里或者路由里设置其为NDS地址.
这样可避免被教育网dns解析.
 楼主| 发表于 2011-11-5 15:18:19 | 显示全部楼层
601997526 发表于 2011-11-5 07:44



    太感谢了!!!!!
 楼主| 发表于 2011-11-5 15:20:09 | 显示全部楼层
8.8.8.8 与8.8.4.4 为google的DNS服务器, 如果你能够访问, 可以直接在"网络连接"属性里或者路由里设置其为N ...
hfg1977 发表于 2011-11-5 14:29



    但有些网站外网dns解析不了的.所以平时只能用教育网内的dns。
发表于 2011-11-5 16:18:00 | 显示全部楼层
有时网关太不给力了(这种情况通常都是404,不过没有具体实现过),呵呵,这就是HOSTS文件的好处
发表于 2011-11-5 18:30:38 | 显示全部楼层
我来试试看哈
发表于 2011-11-9 15:13:45 | 显示全部楼层
  1. @echo off&SetLocal EnableDelayedExpansion
  2. (For /f "delims=" %%i in (a.txt) do (
  3.         For /f "delims=[] tokens=2" %%j in ('ping %%i') do echo %%j %%i
  4.         ))>aa.txt
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
wswj8888 + 1 也谢谢啦!

查看全部评分

发表于 2011-11-11 23:49:38 | 显示全部楼层
可以看看这里。。
修改下就可以啦~
http://bbs.bathome.net/viewthrea ... amp;page=2#pid95989
发表于 2014-10-22 11:10:35 | 显示全部楼层
601997526 发表于 2011-11-5 07:44



    不知道算不算挖坟,但是非常感谢解决我的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 22:05 , Processed in 0.043218 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表