Werte mehreren Variablen mit variablem Namen zuweisen
@echo off
Set Line=1
set AktCol=3
Set prefix=Wert
for /f "delims=; tokens=%AktLine%" %%a in ('more/e +%Line% ^< Data\StartBoni.dat') do (
if not defined line set "line=%%a"
Call :ReadCols %line% %AktCol% %prefix%
)
goto :Ende
:ReadCols
set %prefix%_%AktCol%=%line%
Echo Spalte: %AktCol%
Echo Wert: %Wert_3%
pause
set /a AktCol += 1
goto :EOF
:Ende
Zeile (+1) die gelesen weden soll
Spalte der Textdatei mit der begonnen werden soll
Präfix des Variablennamens
vgl. Textdatei einlesen
übergebe die benötigten werte an Sub :ReadCols und kehre zurück (Call)
Bsp Präfix=Wert AktCol=3: Wert_3 = [Wert in 1. Zeile 3. Spalte in Data\StartBoni.dat]
AktCol+1
zurück zum Call
Werte mehreren Variablen mit variablem Namen addieren (Bsp: VariableNamen.zip)
echo off & setlocal
Setlocal EnableDelayedExpansion
set "pre=test"
set a=1
set %Pre%_%a%=%a%
echo %a%
set b=2
set %Pre%_%b%=%b%
echo %a%
set /a b=!%Pre%_%a%!+!%Pre%_%b%!
echo %b%
pause
Damit die Variablen als Werte interpretiert werden, müssen sie mit einem ! eingeschlossen werden.