SET
Visualizza, imposta o rimuove le variabili d'ambiente (di CMD.EXE).
SET [variabile[=[valore]]]
SET [lettere]
SET [/A [variabile=]"espressione"]
SET [/P variabile=[stringaprompt]]
Dove: variabile Specifica la variabile d'ambiente a cui dare un valore
(definisce la variabile specificata). Se non viene
specificato nè = nè valore visualizzerà il valore della
variabile d'ambiente (se definita). Se non viene
specificato solo valore rimuove la variabile
d'ambiente specificata (se definita).
valore Specifica il valore da dare alla variabile specificata
definendola (il valore è una parola, frase, numero o
altro).
lettere Visualizza il valore delle variabili d'ambiente che
comincano con le lettere specificate.
/A Specifica che viene eseguita un'espressione.
Se viene specificato variabile la variabile d'ambiente
specificata sarà definita con il risultato dell'
espressione.
"espressione" Specifica l'espressione di cui ne verrà visualizzato il
risultato. Se viene specificato variabile la variabile
d'ambiente specificata sarà definita con il risultato
dell'espressione.
/P Specifica che la variabile d'ambiente deve essere
definita dall'utente (cioè che chi apre il file batch con
questo comando ci sarà la possibilità di far scegliere
a costui di scrivere una stringa qualsiasi).
stringaprompt Visualizza la stringa di caratteri specificata che può
essere una domanda o una consegna.
Cosa serve definire le variabili?
Come già spiegato precedentemente racchiudendo la variabile d'ambiente fra percentuali % % ne espanderà il valore di quest'ultima (se definita, ovviamente).
Nell'espressione ci sono degli operatori:
( ) Raggruppamento (parentesi).
! ~ - Operatori aritmetici.
+ Simbolo del più.
- Simbolo del meno.
* Simbolo del per (x).
/ Simbolo del diviso (:).
<< >> Shift logico.
& Bitwise e...
^ Bitwise esclusivo o...
| Bitwise o...
c=n Assegnazione (dove c per un carattere che non sia numero o simbolo tra quelli
specificati ed n sta per un numero o espressione).
, Separatore espressione (NB: se viene specificato una o più volte questo
carattere verrà visualizzato (e verrà definito nei casi opportuni) l'ultimo risultato).
Esempi:
Dà il valore PIPPUS alla variabile d'ambiente ugo:
set ugo=PIPPUS
Dà il valore dell'espressione 5+3 (8) alla variabile d'amiente INK:
set /a INK="5+3"
Dà il valore della risposta dell'utente alla variabile d'ambiente CHOICE visualizzando Ciao pippo, quanto fa 1+1?:
set /p CHOICE=Ciao pippo, quanto fa 1+1?
Approfondimento:
Per espandere una variabile d'ambiente bisogna metterla fra percentuali % %, esempio %CHOICE%, ma per espansioni personalizzate ci sono diverse impostazioni:
%CHOICE:parola1=parola2%
Espande la variabile d'ambiente CHOICE sostituendo le parole parola1 con le parole parola2. parola2 può non essere specificato per non espandere le parole parola1.
%CHOICE:~2,4%
Espande i primi 4 caratteri partendo dal terzo (saltando i primi 2 caratteri) della variabile d'ambiente CHOICE. Se 4 non viene specificato estrae i primi 2 caratteri della variabile d'ambiente CHOICE. Se nel primo numero viene specificato 0, significa che estrae tutti i caratteri tranne i primi quattro.
%CHOICE:~-4%
Espande gli ultimi 4 caratteri della variabile d'ambiente CHOICE.
%CHOICE:~0,-4%
Espande tutti i caratteri tranne gli ultimi 4 della variabile d'ambiente CHOICE.