首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows批处理脚本中使用循环变量作为新变量的一部分

在Windows批处理脚本中使用循环变量作为新变量的一部分
EN

Stack Overflow用户
提问于 2013-12-06 18:14:13
回答 1查看 164关注 0票数 1

我试图根据其循环变量值分配一个变量,以便在循环结束时,我可以在一行中回显每个结果。通用命令是查询多个服务器的nslookup。我正在抓取名称结果的开头(直到第一个点),以显示基于5秒延迟的结果。我留下了我也尝试过的命令的第二个版本,但是已经完成了。我也找不到目标来填充和回音。

代码语言:javascript
复制
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结果看起来像

代码语言:javascript
复制
Name: e1.testedge.test.tld
Name: user-data.e1.testedge.test.tld
Name: user-data.e1.testedge.test.tld

所以for循环捕获e1、用户数据和用户数据.我需要将它们分配给一个持久变量,以便在循环结束时回显。我计划附加到csv,以便我们可以打开电子表格形式(通过20台服务器查找70多个地址)进行检查。我希望输出结果像

代码语言:javascript
复制
Nameserver  Target              1st   2nd     3rd         4th        5th
111.111.0.2,e1.testedge.test.tld,e1,user-data,user-data,user-data,user-data
111.111.0.2,e2.testedge.test.tld,e2,user-data,user-data,user-data,user-data
111.111.0.2,e3.testedge.test.tld,e3,user-data,user-data,user-data,user-data
111.111.0.2,e4.testedge.test.tld,e4,user-data,user-data,user-data,user-data
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-06 19:27:46

我想这就是你在尝试的。

代码语言:javascript
复制
@echo off
setlocal enableextensions 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 !Target! %%s  ^|find "Name:"') do set "Result%%l=%%G"
    )
    echo %%s,!Target!,!Result1!,!Result2!,!Result3!,!Result4!,!Result5!
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20430795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档