2014-03-27 139 views
0

因此,我正在編寫一個簡短的CMD腳本以便與CURL一起使用,並遇到了一個我無法用Google解決的問題。從其他變量獲取CMD中的變量名稱

我要的是取決於其他變量,例如名稱得到一個變量:

@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 

不工作,我似乎無法到在線找到任何東西

回答

1

試試這個:

@echo off 
setlocal enabledelayedexpansion 
SET Example1=Test1 
SET Example2=Test2 
SET Example3=Test3 
FOR %%G in (1,2,3) DO (
    echo. !Example%%G! 
) 

如脫線所指出的,應該有SET命令變量和值之間沒有空格。

+0

雅解決了它,謝謝 –

1

批次對SET語句中的空格敏感。 SET FLAG = N一個名爲「FLAG 空間」變量設置爲

一旦你已經修復了的「空間 N」的值,輸出它,除非你使用delayedexpansion(太多SO例子......) ,嘗試

FOR %%x IN (1,2,3) DO CALL ECHO %%example%%x%% 

其中echo可能是set "extra%%x=%%example%%x%%"

除此之外,需要在你實際上是做什麼的詳細信息...