Chamando um Alias ​​em um Arquivo em Lote


0

Eu tenho o seguinte código. Estou tentando alterar o servidor de nomes e, em seguida, referencie o comando nslookup para usar esse servidor de nomes, mas ele não funciona, ou seja, retorna o erro que nslooknão existe.

@ECHO OFF
@DOSKEY NSLOOK=NSLOOKUP $* 1.2.3.4
FOR /F %%i in (servers.txt) do FOR /F "delims=: tokens=2" %%j in (
  'nslook %%i ^| find "Name:"'
) do @echo %%j >> dns.txt 2>> error.txt

Respostas:


1

Por que o DosKey? ... em lote, eles têm seu próprio sistema de macro: SET VAR = e% VAR%

set nslook=nslookup
for /F %%i in (servers.txt) do (
    for /F "tokens=2 delims=: " %%j in ('%nslook% %%i  2^>^>error.txt ^| find "Name:"') do (
        echo %%j >> dns.txt
    )
)

Obrigado. Isso funciona, mas não me diz os nomes dos servidores que encontraram o erro. Tudo o que eu recebo no arquivo de erroRequest to 1.2.3.4 timed-out
PeanutsMonkey

Hum ... então, não era para ser assim? Quando o testei, em servers.txt, coloquei 8.8.8.8 e 8.8.4.4 mais algumas falsificações, tudo o que sei do topo da minha cabeça. Os dois são bons, eles desembarcaram no dns.txt como endereços resolvidos pelo nome, os falsificados chegaram no error.txt. Ou você preferiu que os erros fossem impressos? Nesse caso, remova 2 ^> ^> error.txt
JasonXA 26/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.