在批处理文件中调用别名

在批处理文件中调用别名

我有以下代码。我尝试更改名称服务器,然后引用命令 nslookup 以使用该名称服务器,但它不起作用,即它返回nslook不存在的错误。

@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

答案1

为什么是 DosKey?...在​​批处理中它们有自己的宏系统:SET VAR= 和 %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
    )
)

相关内容