현재 아래 표시된 첫 번째 명령을 사용하여 DNS 서버에서 IP 주소를 가져올 수 있습니다. 그러나 한 번에 하나의 DNS 서버를 입력하고 명령을 실행하는 것은 지루한 작업입니다. 나는 과거에 이것을 실행하려고 시도했고 for /F %i in (dns.txt); do nslookup %i; > ips.txt;
작동했습니다. 그러나 아래 명령에도 동일한 개념을 적용하려고 합니다. 텍스트 파일에서 DNS 주소를 확인하고, IP 주소를 변환하고, 결과를 새 텍스트 파일로 출력하려면 어떻게 해야 합니까?
1개의 DNS-IP 주소에만 작동합니다.
for /f "skip=4 usebackq tokens=2" %a in (`nslookup somedns.com`) do echo %a > ips.txt
답변1
아무래도 운영자 의 실수인 것 같습니다 >
. 이렇게 하면 실제로 파일이 잘리고 출력이 파일에 기록되지만 ips.txt
루프에 빠져 매번 파일이 잘립니다. 대신 연산자 를 사용해 보세요 >>
.
for /f "skip=4 usebackq tokens=2" %a in (`nslookup somedns.com`) do echo %a >> ips.txt
편집하다: 파일을 반복하여 각 DNS 호스트의 IP 주소를 얻으려면 다음과 같이 하면 됩니다.
for /f "tokens=*" %%A in (yourhostsfile.txt) do nslookup %%A >> ips.txt