2013-01-04 29 views
-3

我正在寻找一个脚本(批处理,perl,vb或其他)来解析主机名,我将它交给IPS并输出一个文件(可选),就像Windows主机文件。将解析的主机名输出到文件的脚本

因此,例如,当我给它:www.stackoverflow.com

它会输出到一个文件(或甚至在屏幕上,与回波)这一行:

69.59.197.21万维网。 stackoverflow.com

在此先感谢!新年快乐! 干杯

+0

在Linuxü可以只是试试这个:>主机www.stackoverflow.com | grep“有” –

+0

谢谢,但这会输出“www.stackoverflow.com有地址69.59.197.21”。 任何获得“69.5​​9.197.21是www.stackoverflow.com的地址”的输出的方式“所以我可以大量删除”的地址“,并将其用作Windows上的主机文件? – user1948608

回答

1

在这里你去

@echo off 
setlocal enabledelayedexpansion 
set /p hostname=Enter hostname: 
for /f "tokens=3" %%a in ('ping %hostname% ^| find "Pinging"') do (
set ip=%%a 
set ip=!ip:[=! 
set ip=!ip:]=! 
echo !ip! %hostname% 
) 
pause >nul 
+0

谢谢巴厘岛C!我注意到许多网站在不同的ip上使用子域名。 有没有办法通过浏览器浏览网站并导出适当的主机文件格式的DNS缓存?我试过ipconfig/displaydns> C:\ test.txt,它工作正常,但输出不适合主机 – user1948608

+0

对不起,我没有得到第二部分。那么是否有你想要提取的'ipconfig/displaydns'的特定部分? –

+0

另外,@ user1948608如果你喜欢巴厘岛的答案,它会帮助他,如果你点击旁边的支票,并给他信贷! 谢谢! – iesou

0

你可以在linux试试这个

**print address and hostname** 

    [[email protected] scripts]$ host www.stackoverflow.com | grep "has add" | awk '{print $1}{print $4}' 
    stackoverflow.com 
    69.59.197.21 

**Print address only** 

    [[email protected] scripts]$ host www.stackoverflow.com | grep "has add" | awk '{print $4}' 
    69.59.197.21 


**Append To File** 

    [[email protected] scripts]$ host www.stackoverflow.com | grep "has add" | awk '{print $4}' >> hosts.list 

希望这有助于(在* nix中)