2016-12-11 4 views
0

Wie verwende ich eine Variable wie %% i in einer permanenten Variablen? (ich weiß nicht wirklich die richtigen Begriffe, so hoffe ich, jemand herausfinden kann, was ich meine)eine Variable wie %% i für Statements in Variable anzeigen? Batch

Dies ist der Code ich verwende:

@echo off 
color 0f 
goto number 

:number 
title number 
cls 
echo number of options? 
set /p num= 
goto option 

:option 
for /l %%i in (1,1,%num%) do (
cls 
echo Name nr. %%i 
echo Enter a option 
set /p n%%i= 
echo %%i = %n%%i% >> log.txt 
) 
goto select 

:select 
cls 
echo %n2% 
pause >nul 

das „% n2%“ funktioniert für was auch immer du an zweiter Stelle eingibst, aber wenn ich versuche, es in eine Datei zu drucken (echo %% i =% n %% i% >> log.txt), funktioniert es nicht. Ich weiß, dass "% n %% i%" nicht korrekt ist, aber ich weiß nicht wirklich, was ich da eigentlich machen soll.

+2

Entweder Verwendung ' Rufen Sie echo %% i = %% n %% i %% >> log.txt' auf oder aktivieren Sie die verzögerte Erweiterung mit 'setlocal enabelledlayedexpansion' und wechseln Sie zu' echo %% i =! n %% i! >> log.txt' – LotPings

+3

Verwenden Sie '! n %% i!' und 'EnableDelayedExpansion'. Siehe [diese Antwort] (http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990) – Aacini

+0

Danke @ Aacini, es hat funktioniert –

Antwort

0
:option 
for /l %%i in (1,1,%num%) do (
cls 
echo Name nr. %%i 
echo Enter an option 
set /p option%%i= 
) 
goto select 

:select 
set option>log.txt 
cls 
echo %option2% 

Vielleicht möchten Sie dies berücksichtigen.

Der Befehl

set option 

wird alle Umgebungsvariablen zeigen, dass option im Format beginnt option1=Gido, weshalb ich n-option geändert (es gibt auch andere Variablen, die n Start)

Verwandte Themen