我将如何调用动态变量名称?

问题描述:

好吧,所以我正在尝试制作一个程序,“理解”用户输入并做他们要做的事情。人们通常只使用特定的命令,比如“打开这个文件”,并且只有在用户输入的时候才有效。我试图给我的用户一点余地,以便他们能够输入类似于他们想要发生的事情,并且计算机将获得一般想法。随着这一块乱堆乱放,我遇到了一个问题。我将如何调用动态变量名称?

set word%wordNum%=%word% 
:fileExtension 
set extChk= %letterNum% - 2 REM Includes the period of the extension 
call set extension=%%_albaiRec:~%extChk%,4%% 
::extChk is checking for a period so the program will recognize a file extension 
set file= 

最后一行是我卡住... 我试图使用最后记录的字变量。

set var=7 
set word7=Wanted text 
echo %word%var%% 

Sorta like that?

+0

FWIW术语你在做什么,是一种'模糊logic' – foxidrive

setLocal enableDelayedExpansion添加到脚本的开头。然后用echo !word%var%!代替echo %word%var%%

欲了解更多信息 - http://ss64.com/nt/delayedexpansion.html

+0

的ECHO处于关闭状态。帮帮我? –

+0

糟糕,无意中把我的扩张混淆起来了。修改了我的答案。 '!word%var%!'而不是'%word!var!%'。 – unclemeat

+0

这个修复了,谢谢。 –