/ / Espansione delle variabili di ambiente per il prompt dei comandi: finestre, cmd, variabili di ambiente, variabili di sessione

Variabili di ambiente in espansione per prompt dei comandi - windows, cmd, variabili di ambiente, variabili di sessione

Vorrei eseguire un cmd.exe che valuterà le variabili d'ambiente al momento della chiamata invece che quando analizza il comando. Se imposto BASE su 2 e lo faccio eco, dovrei vedere il numero 2, sebbene l'esecuzione di questo script non imposti correttamente la base.

Comportamento atteso: C:Usersschristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" 2 Press any key to continue . . .

Comportamento reale: C:Usersschristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" %BASE% Press any key to continue . . .

risposte:

5 per risposta № 1

Questo dovrebbe funzionare per te:

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

/V:ON abilita l'espansione ritardata delle variabili, che è ciò di cui hai bisogno qui. Ordine degli interruttori (/V:ON /C) è importante.