2017-05-24 106 views
1

我一直在有一個真正的問題,看起來很簡單,但我似乎無法得到一個工作的答案。批量嵌套變量

下面是我在做什麼:

  1. 設置具有特定名稱的變量:恩。 set "select=computer1"
  2. 我做了測試,並給該變量基於結果的值使用後的if語句:前set "%select%=1"這將變量到1
  3. 我希望看到什麼的值爲但是我所知道的是%select%

當只知道%select%時,有什麼辦法可以得到的值嗎? %select%知道新變量的名稱,但我需要知道它的值,但不能通過硬編碼名稱直接調用它。

我認爲管道可能工作,但我似乎無法弄清楚這一點。

謝謝大家,我感謝你的幫助。

+0

'設置%選擇%'將輸出'電腦1 = 1' – LotPings

+1

這種類型的管理的說明在[這個答案](https://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990),雖然主題是不同的... – Aacini

回答

4

您需要另一層解析。與延遲擴展

::可以做到這一點

setlocal enabledelayedexpansion 
echo !%select%! 

沒有延遲擴展:

call echo %%select%%