首页 > 解决方案 > 我需要知道如何批量回显嵌套变量

问题描述

我正在尝试制作一个生成器,它应该提供类似1or的输出0

set var1=%var2%
set var3=1
set var4=%var2%
:genloop
set /a var4%var3%=%random%* 1 / 32768 + 1
set /a var3=%var3% + 1
echo %var4%var3%%
if "%var3%"=="%var4%" goto done
goto genloop

我不能得到%var4%var3%%一个输出0或者1它给出一个输出var41 var42 var43等等而不是1或者0所以我需要知道如何回显一个嵌套变量

标签: windows

解决方案


您可以启用enabledelayedexpansion.

set var1=%var2%
set var3=1
set var4=%var2%

setlocal enabledelayedexpansion

:genloop
set /a var4%var3%=%random%* 1 / 32768 + 1
set /a var3=%var3% + 1
echo !%var4%var3!
if "%var3%"=="%var4%" goto done
goto genloop

|


推荐阅读