2016-07-20 15 views
0

Ich versuche derzeit, eine bestimmte Zeile einer Textdatei in einer Batch-Datei mit diesem Code zu speichern.Batch-Datei Variablen mit String verwechselt

for /f "tokens=* delims= " %%a in (files.txt) do (
set /a N+=1 
set v[!N!]=%%a 
) 

set /p id="Please choose a number(1-10):" 

set number=%v[id]% 

echo %number% 

endlocal 

jedoch anstelle des Druckens der Linie druckt es aus

aus
id 

jemand dabei helfen könnte?

+1

Ändern Sie diese Zeile: 'Satznummer =% v [id]%' durch diesen: 'set number =! v [% id%]!'. Siehe: http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990 – Aacini

+0

Vielen Dank, dass meine behoben Problem! – Chimichanga

Antwort

0

wie das, was Aacini sagte ich die Zeile geändert

set number=%v[id]% 

von diesem einen

set number=!v[%id%]! 

und es funktionierte