NSLOOKUPが2つのIPアドレスを返しています


-2

nslookupを実行すると、nslookupを実行している自分のDNSとサーバーのIPアドレスが返されます。自分のDNSサーバーを印刷しないようにするにはどうすればよいですか。

@echo off
for /f "tokens=*" %%A in (servers.txt) do nslookup %%A >>ips.txt

あなたの質問は明確ではありません...あなたが問題を試みていることを正確に理解し、あなたの "スクリプト"があまり明確でないのであなたが達成しようとしていることを説明するため
acejavelin

1
nslookup あなたが達成しようとしていることのための適切なツールではありません。あなたはおそらくPowerShellをもっとうまく利用できるでしょう。また、単一のドメイン名には任意の数のドメイン名を含めることができます。 A そして AAAA 記録。
Daniel B

回答:


1

2番目のスタックを使う For /f nslookupの出力を解析して最初の3行をスキップします。

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
For /f "tokens=*" %%A in (
  servers.txt
) Do For /f "Skip=3 Tokens=1* Delims=: " %%B in (
  'nslookup %%A'
) Do Echo %%B=%%C

出力例

Name=Matar.fritz.box
Addresses=2003:dc:73c5:7800::0
        =192.168.3.92

設定によっては、nslookupはIPv6アドレスを含めて複数のIPを返すことがあります。そのため、Pingを使用してIPv4に移行するほうが簡単です。

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
For /f "tokens=*" %%A in (
  servers.txt
) Do For /f "tokens=2Delims=[]" %%B in (
  'Ping -4 -n 1 %%A ^|find "["'
) Do Echo IPv4=%%B 

IPv4=192.168.192.92
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.