如何将变量的值批量转换为单独的变量?

时间:2018-06-12 01:30:52

标签: batch-file

例如:

@echo off
setlocal enabledelayedexpansion
set 101=_
set 102=_
set 103=_
set 104=_
set 105=_
set 106=_
set 107=_
set 108=_
set 109=_
set 110=_
set 111=_
set 112=_
set 113=_
set 114=_
set 115=_
set 116=_
set 201=_
set 202=_
set 203=_
set 204=_
set 205=_
set 206=_
set 207=_
set 208=_
set 209=_
set 210=_
set 211=_
set 212=_
set 213=_
set 214=_
set 215=_
set 216=_
echo !101!!102!!103!!204!!205!!206!!207!!208!!209!!210!!211!!212!!213!!214!!215!!216!
echo !201!!202!!203!!204!!205!!206!!207!!208!!209!!210!!211!!212!!213!!214!!215!!216!

我使用这些编号的变量作为坐标来创建地图。实际地图会更大,这只是一个例子 " Currentlocation"是当前坐标的变量。

set currentlocation=204
set 204=O

O =地图上的当前展示位置。 我想向左移动所以我会用它:

set /a "currentlocation=currentlocation-1"

虽然我现在已将currentlocation变量更改为我想要的数字,但我还需要将该新数字变为变量" 203"。 这样我就可以将变量203的内容更改为O.

如果可能的话,我也想避免使用变量搜索,因为我不希望这个数字对我可能存在的未来变量造成影响。

所以基本上203,204和currentlocation都是自己的变量。 203和204保持地图的ascii,例如= _ * O.我需要批处理程序来识别我已移动到该位置,所以我尝试做的是使当前位置保持我想要的变量的数量。因此,如果currentlocation = 203,我希望程序注意到新数字与变量203匹配,并用O替换203变量ascii(表示我目前在地图上有i),希望这有助于消除任何混淆。

0 个答案:

没有答案