[cmd] nazwa zmiennej jako zmienna


(qrdziel) #1

chciałbym aby nazwa zmiennej przyjęła wartość zmiennej

np.:

SET %%G=NAME

SET %%H="dowolna nazwa"

SET %%G=%%H

ECHO %%NAME%

żeby efektem było wyświetlenie się tekstu: "dowolna nazwa"


(Rolek0) #2
set a=lol

set %a%=rotfl

echo %lol%

(qrdziel) #3

Dzięki serdeczne - działa:)

ale mam taki problem: utworzyłem dokument tekstowy tmp.sii

a w nim tekst:

NAME=Avast

obok utworzyłem skrypt install.bat a w nim polecenie:

FOR /F "tokens=1,* delims==" %%G IN (tmp.sii) DO SET %G%=%%H

			ECHO instaluje %NAME%

powinno wyświetlić Avast

gdzie jest błąd?


(Rolek0) #4

Zmienne mają po jednym % z lewej i z prawej, iteratory mają jedno % z lewej w konsoli lub %% z lewej w .bat ale nie mają nic z prawej, %%H masz dobrze.

;)

Jak już masz w formacie nazwa=warość to mógłbyś odrazu przekazywać to do set.


(qrdziel) #5

dzięki za pomoc

powinno byc:

FOR /F "tokens=1,* delims==" %%G IN (tmp.sii) DO SET %G%=%%H

         ECHO instaluje !NAME!