2012-02-01 10 views

Odpowiedz

103

Zmienna var2 jest ustawiona, ale rozszerzenie w linii echo %var2% występuje przed wykonaniem bloku. W tej chwili var2 jest pusty.

Dlatego istnieje opóźniona wersja składni, używa ona ! zamiast % i jest oceniana w czasie wykonywania, a nie w czasie analizy.

setlocal EnableDelayedExpansion 
set var1=true 
if "%var1%"=="true" (
    set var2=myvalue 
    echo !var2! 
) 
+5

Dzięki, że oszczędziłeś mi ogromnego bólu. – Myna

+14

Friggin "skryptowanie wsadowe! –

+0

muito obrigado "" – durtto

Powiązane problemy