我想循环遍历一组数据,并根据我所在的索引循环遍历不同的数据集。
这应该有希望解释我的目标
@echo off
setlocal enableextensions enabledelayedexpansion
set DEVICE_LIST="android-19" "android-18" "android-17"
set android-19="1" "2" "3"
set android-18="4" "5" "6"
set android-17="7" "8" "9"
for %%N in ( %DEVICE_LIST% ) do (
echo %%N
for %%A in ( %android-19% ) do (
echo %%A
)
)
所以在那个代码块中,输出是
"android-19"
"1"
"2"
"3"
"android-18"
"1"
"2"
"3"
"android-17"
"1"
"2"
"3"
但是想要做的是用设备的名称或索引替换%android-19%,所以输出实际上是
"android-19"
"1"
"2"
"3"
"android-18"
"4"
"5"
"6"
"android-17"
"7"
"8"
"9"
我最初尝试用%%% N%替换%android-19%,但显然这不起作用,但应该让你知道我的目的。
是否可以做这样的事情,或者产生相同结果的事情?
由于
答案 0 :(得分:0)
好的,所以发布这个问题给了我很多可能的相关问题链接,这实际上帮助我弄明白了。
这只是一个使用正确组合的情况!和第二个for循环中的%。
for %%N in ( %DEVICE_LIST% ) do (
echo %%N
for %%A in ( !%%~N! ) do (
echo %%A
)
)
答案 1 :(得分:0)
@ECHO OFF
SETLOCAL
set DEVICE_LIST="android-19" "android-18" "android-17"
set android-19="1" "2" "3"
set android-18="4" "5" "6"
set android-17="7" "8" "9"
for %%N in ( %DEVICE_LIST% ) do (
echo %%N
for /f "delims=" %%W in ('call echo(%%%%~N%%') do (
for %%A in (%%W) do (
echo %%A
)
)
)
GOTO :EOF
对我很开心。