我试图根据其循环variables值分配一个variables,以便在循环结束时,我可以在一行中回显每个结果。 一般的命令是查询多个服务器的nslookup。 我抓取名称结果的开头(直到第一个点),显示基于5秒延迟的结果。 我留下了第二个版本的命令,我也尝试过,但rem'ed。 我无法让目标填充和回显。
setlocal enabledelayedexpansion For %%s IN (111.111.0.2,111.111.0.3,111.111.9.2,111.111.9.3) do ( for /L %%l IN (1,1,5) DO ( set Target=%e%%l.testedge.test.tld% for /f "tokens=2 delims=:." %%G IN ('nslookup e%%l.testedge.test.tld %%s ^|find "Name:"') do set %result%%l%=%%G REM set Result%%l=%for /f "tokens=2 delims=:." %%G IN ('nslookup e%%l.testedge.test.tld %%s ^|find "Name:"') do echo %%G% REM for /f "tokens=2 delims=:." %%G IN ('nslookup e%%l.testedge.test.tld %%s ^|find "Name:"') do set !Result%%1!=%%G ping 1.1.1.1 -n 1 -w 5000 > nul ) echo %%s,%Target%,%result1%,%result2%,%result3%,%result4%,%result5% )
nslookup结果看起来像
Name: e1.testedge.test.tld Name: user-data.e1.testedge.test.tld Name: user-data.e1.testedge.test.tld
所以for循环抓取e1,用户数据和用户数据。 我需要将它们分配给一个持久variables,以便在循环结束时进行回显。 我打算附加到一个csv,所以我们可以以电子表格的forms打开(通过20个服务器查找超过70个地址)进行审查。 我想输出是像
Nameserver Target 1st 2nd 3rd 4th 5th 111.111.0.2,e1.testedge.test.tld,e1,user-data,user-data 111.111.0.2,e2.testedge.test.tld,e2,e3.testedge.test.tld,e3,e4.testedge.test.tld,e4,user-data
覆盖Windows环境variables值?
如何在Windowsbatch file中使用setx命令
从Windows获得c ++的系统环境
%SystemRoot%似乎打破PATH(Windows 7)
为什么%appdata%和其他variables在窗口的gui中不可见
当命令有空格时,将命令输出检索到variables
windows oneliner在环境variables中设置命令输出
JRE_HOMEvariables缺lesstomcat(win7)
我可以在batch file中使用FIND命令使用variables作为searchstring吗?
我想这是你正在尝试的。
@echo off setlocal enableextensions enabledelayedexpansion For %%s IN (111.111.0.2,5) DO ( set "Target=e%%l.testedge.test.tld" for /f "tokens=2 delims=:." %%G IN ('nslookup !Target! %%s ^|find "Name:"') do set "Result%%l=%%G" ) echo %%s,!Target!,!Result1!,!Result2!,!Result3!,!Result4!,!Result5! )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。