2017-11-10 3 views
0

Wie setze ich eine Variable innerhalb einer Variablen in einer for-Schleife? Wenn ich diesen Code ausführe, ist die Variable [] leer. Jemand kann mir helfen?Batch, variable interne Variable in einer for-Schleife

@echo off & setlocal enabledelayedexpansion 

set var[0]=aaa 
set var[1]=bbb 
set var[2]=ccc 
set var[3]=ddd 
set var[4]=eee 

for /L %%g in (1,1,3) do (
set /a num=!RANDOM! %% 5 
echo position: !num! 
echo keyword: !var[%num%]! :: THIS LINE NOT WORKING 
) 

pause 
+0

dies einen Versuch geben: 'rufen Echo Stichwort: %% var %%' – Squashman

+0

Dank Squashman [num!]. Das funktioniert. – user3486019

+0

Diese Verwaltung wird vollständig erläutert unter [diese Antwort] (https://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990# 10167990) – Aacini

Antwort

0

Sie haben im Wesentlichen zwei Optionen, um die doppelte variable Erweiterung zu erhalten, die Sie benötigen. Sie können entweder CALL oder einen anderen FOR Befehl verwenden.

call echo keyword: %%var[!num!]%% 

oder

FOR %%h in (!num!) do echo keyword: !var[%%h]!