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
AmendoimMacaco
fonte

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
    )
)
JasonXA
fonte
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