Batch file 使用变量设置变量-批处理

Batch file 使用变量设置变量-批处理,batch-file,Batch File,所以我刚刚完成了一个非常复杂的批处理文件(我写的第一个大文件),最后一部分我被卡住了。程序需要根据用户的需要生成变量。我想出来了,但现在我很难给他们打电话。 这就是我所拥有的(抱歉,向你展示比解释更容易) 我需要的是一种将第4行中创建的一个变量设置为变量tcomp的方法,并且我不能有比mquant的值更多或更少的变量。对于任何含糊不清的地方,我很抱歉,我会尽力解释所需要的任何东西。如果您要将一个变量设置为另一个变量,那么这是一个简单的解决方案 set a= set b=1 set /p a=?:

所以我刚刚完成了一个非常复杂的批处理文件(我写的第一个大文件),最后一部分我被卡住了。程序需要根据用户的需要生成变量。我想出来了,但现在我很难给他们打电话。 这就是我所拥有的(抱歉,向你展示比解释更容易)


我需要的是一种将第4行中创建的一个变量设置为变量tcomp的方法,并且我不能有比mquant的值更多或更少的变量。对于任何含糊不清的地方,我很抱歉,我会尽力解释所需要的任何东西。

如果您要将一个变量设置为另一个变量,那么这是一个简单的解决方案

set a=
set b=1
set /p a=?:
if %a%==%b% goto :NEXT

:NEXT

you have entered the correct number! The number was %b%.
ping localhost -n 3 >nul

我希望这有点帮助

我不明白你在尝试什么,但也许这会有所帮助。您可以显示您期望在哪个变量(您可以添加一些伪代码)中使用另一个变量命名变量,因此当用户输入输入(假设mquanto等于5)时,它创建变量comp5(使用用户输入),然后创建comp4(它循环直到到达comp1)等等,但我遇到的问题是mquanto是用户定义的,所以我不知道它在程序开始时的值(所以我不知道它将输出多少变量)我需要能够将tcomp设置为这些变量中的任何一个,因此我所想的是在set/A tcomp=comp%mquanto%的末尾添加下一行,但这会将值设置为comp5,而不是变量comp5的实际值
set a=
set b=1
set /p a=?:
if %a%==%b% goto :NEXT

:NEXT

you have entered the correct number! The number was %b%.
ping localhost -n 3 >nul