所以我正在编写一个简短的CMD脚本与CURL一起使用,遇到了我似乎无法用Google解决的问题。
我想要的是根据其他变量的名称获取变量,例如:
@echo off
SET Example1 = Test1
SET Example2 = Test2
SET Example3 = Test3 (The variable data isn't this similar ofc)
...
FOR %%G in (1,2,3) DO (
...
*This is where I want to Echo out Something like Example%%G*
)
只需使用
Echo Example%%G
没有工作,我似乎无法在网上找到任何东西。
答案 0 :(得分:1)
批处理对SET
语句中的空格敏感。 SET FLAG = N
将名为“FLAG Space ”的变量设置为值“ Space N”
一旦你修复了它,输出它,除非你使用delayedexpansion
(太多的SO例子......),试试
FOR %%x IN (1,2,3) DO CALL ECHO %%example%%x%%
其中echo
可以是set "extra%%x=%%example%%x%%"
答案 1 :(得分:1)
试试这个:
@echo off
setlocal enabledelayedexpansion
SET Example1=Test1
SET Example2=Test2
SET Example3=Test3
FOR %%G in (1,2,3) DO (
echo. !Example%%G!
)
正如Magoo所指出的,SET命令中变量和值之间应该没有空格。