PDA

View Full Version : [Batch] Espansione ritardata delle variabili


23Andrea
04-08-2015, 14:38
Ciao.
Ho notato che utilizzando l'opzione
SETLOCAL EnableDelayedExpansion
nelle righe seguenti, per espandere "normalmente" le variabili, č possibile utilizzare indifferentemente i simboli "!" o "%".
Risulta anche a voi?
Funziona sempre cosė o ci sono delle eccezioni?
Questa cosa non mi č chiara: ho bisogno di un po' di teoria :confused:
Grazie.

x_Master_x
09-08-2015, 18:36
Dipende dall'uso che se ne fa

: x_Master_x
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET Variable=Prima
SET Variable=Dopo & ECHO Risultato %: %Variable% Risultato !: !Variable!
PAUSE

23Andrea
18-08-2015, 18:38
Ok.
Ma quello che chiedevo io era leggermente diverso.
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET Variable=Prima
SET Variable=Dopo & ECHO Risultato con il simbolo di percentuale: %Variable%. Risultato con il punto esclamativo: !Variable!.
SET Nome=23Andrea
ECHO %Nome% non capisce come funziona questa cosa.
ECHO !Nome! e' un dilettante: perdonatelo se fa' domande cretine.
PAUSE

La variabile "Nome", che non necessita dell'espansione ritardata, viene espansa correttamente con entrambi i simboli.