【问题标题】:How to loop over environment variables in windows batch file? [duplicate]如何在Windows批处理文件中循环环境变量? [复制]
【发布时间】:2014-09-14 13:16:28
【问题描述】:

在 Windows 中,我想循环一组环境变量,就像下面的伪代码:

set MYVAR1=test
set MYVAR2=4711
set MYVAR3="a b c"

for /l %%x in (1, 1, 3) do (
   echo %MYVAR%s%%
)

我希望得到以下输出

test
4711
a b c 

如何更改此示例代码以使其正常工作?

【问题讨论】:

标签: windows batch-file


【解决方案1】:
@echo off
set MYVAR1=test
set MYVAR2=4711
set MYVAR3="a b c"

setlocal enableDelayedExpansion
for /l %%x in (1, 1, 3) do (
   echo !MYVAR%%x!
)
endlocal

【讨论】:

【解决方案2】:

另一种方式,使用变量前缀解析set命令的输出

@echo off
    setlocal enableextensions disabledelayedexpansion

    set MYVAR1=test
    set MYVAR2=4711
    set MYVAR3="a b c"

    for /f "tokens=1,* delims==" %%a in ('set MYVAR') do echo %%b

【讨论】:

    【解决方案3】:

    另一种方法:

    @echo off
    set MYVAR1=test
    set MYVAR2=4711
    set MYVAR3="a b c"
    
    for /l %%x in (1, 1, 3) do (
       call echo %%MYVAR%%x%%
    )
    pause
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 2017-07-05
      • 2010-11-24
      相关资源
      最近更新 更多