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.