本帖最后由 DiamondbacK 于 2016-10-21 12:07 编辑
第三方 sed- # 2>nul 3>&2 & echo off & cls
- # & nslookup.exe < domain_list.txt | sed -rnf "%~f0" > Answer.txt
- # & pause & exit /b
- # 使用方法:将域名列表保存在同目录下的文件 domain_list.txt 中,然后运行脚本
-
- :L0
- /^>/ {
- h
- $! n
- :L1
- /^>/! {
- H
- $! { n; b L1 }
- }
- x
- s/^.+Address: *([.0-9]+)\s+名称: *([-.[:alnum:]]+)\nAddresses:\s*/域名: \2, DNS 地址: \1, 解析地址: /
- :L2
- s/^(.+解析地址: )(.*\n)\s*([.0-9]+)/\1\2\1\3/
- t L2
- p
- g
- $! b L0
- }
复制代码 第三方 gawk- # 2>nul 3>&2 & echo off & cls
- # & nslookup.exe < domain_list.txt | gawk -f "%~f0" > Answer.txt
- # & pause & exit /b
- # 使用方法:将域名列表保存在同目录下的文件 domain_list.txt 中,然后运行脚本
-
- BEGIN { RS = "\n*>"; FS = "[:\n]+[\t ]*" }
- $7 == "Addresses" {
- for (i = 8; i <= NF; i++) {
- print "域名: " $6 ", DNS 地址: " $4 ", 解析地址: " $i
- }
- }
复制代码 Windows 7 以上系统自带- :: 使用方法:将域名列表保存在同目录下的文件 domain_list.txt 中,然后运行脚本
- @echo off
-
- PowerShell -c "(gc .\domain_list.txt | nslookup.exe) -join \"`n\" -split '\n*>' | %% { $fields = $_ -split '[:\n]+[\t ]*'; if ($fields[6] -eq 'Addresses') { for ($i = 7; $i -lt $fields.count; $i++) { \"域名: $($fields[5]), DNS 地址: $($fields[3]), 解析地址: $($fields[$i])\" }}} > Answer.txt"
-
- pause & exit /b
复制代码
|