我一直在制作菜单系统,但遇到一个问题:我必须使用一个变量来跟踪所选项目,以指定要在列表中使用的项目。我知道以前曾问过这个问题,但是我还没有找到合适的答案
set new_option[%selected%]=%selection_symbol%%org_option[%selected%]%
嵌套变量为“%org_option [%selected%]%”
问题是批处理将变量分为“%org_option [%”,“ selected”和“%]%” 但我希望将其拆分,以便使用“ selected”变量定义列表中的位置,这意味着“ selected”嵌套在“ org_option []”中
答案 0 :(得分:2)
您实质上是在尝试引用数组变量。您有两种选择来解决此问题。一种是使用CALL命令来获得额外的变量扩展层,这需要您将外部变量上的百分比符号加倍,另一种则需要您在代码中启用延迟扩展,并使用感叹号引用外部变量。>
CALL set new_option[%selected%]=%selection_symbol%%%org_option[%selected%]%%
OR
Setlocal enabledelayedexpansion
set new_option[%selected%]=%selection_symbol%!org_option[%selected%]!