windows - Udvidelse af miljøvariabler for kommandoprompt

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil gerne køre en cmd.exe, der ville evaluere miljøvariabler på opkaldstidspunktet i stedet for når det analyserer kommandoen. Hvis jeg sætter BASE til 2 og ekko det, skal jeg se nummeret 2, selvom det kører dette script ikke korrekt sætter basen.


Forventet adfærd:
C:Usersschristo>cmd.exe /X /C "set BASE=2 && echo \%BASE\% && pause" 2 Press any key to continue . . .


Faktisk adfærd:
C:Usersschristo>cmd.exe /X /C "set BASE=2 && echo \%BASE\% && pause" \%BASE\% Press any key to continue . . .

Bedste reference


Dette skal fungere for dig:


cmd.exe /X /V:ON /C "set BASE=2&&echo !BASE!&&pause"


/V:ON muliggør forsinket udvidelse af variabler, hvilket er hvad du har brug for her. Bestilling af omskiftere (/V:ON /C) spørgsmål.