C:\WINDOWS>HELP RMDIR
Rimuove (elimina) una directory.
RMDIR
[/S
] [/Q
] [unità:
]percorso
RD
[/S
] [/Q
] [unità:
]percorso
/S Rimuove tutte le directory e file nella directory specificata
oltre alla directory stessa. Usato per rimuovere l'intera
struttura di una directory.
/Q Inibisce la richiesta di conferma alla rimozione della
directory
eseguita con /S.
C:\WINDOWS>HELP SET
Visualizza, imposta o rimuove le variabili d'ambiente di cmd.exe.
SET
[variabile=
[stringa
]] variabile Specifica il nome della variabile d'ambiente.
stringa Specifica una serie di caratteri da assegnare alla
variabile.
Digitare SET senza parametri per visualizzare le variabili d'ambiente
correnti.
Se le estensioni ai comandi sono abilitate SET cambia come segue:
il comando SET richiamato con un solo nome di variabile, senza segno di
uguale o valore
visualizzerà il valore di tutte le variabili il cui prefisso
corrisponda al nome
dato al comando SET. Per esempio:
SET P
visualizzerà tutte le variabili che iniziano con la lettera "P"
Il comando SET imposterà ERRORLEVEL a 1 se il nome della variabile non
viene trovato
nell'ambiente corrente.
Il comando SET non consente che il segno uguale faccia parte del nome
di
una variabile.
Sono state aggiunte due nuove opzioni al comando SET:
SET /A espressione
SET /P variabile=
[StringaPrompt
]L'opzione /A specifica che la stringa alla destra del segno uguale
è un'espressione numerica che viene calcolata. Il calcolo
dell'espressione
è semplice e supporta le seguenti operazioni, in ordine di
importanza decrescente:
() - raggruppamento
! ~ - - operatori aritmetici
+ - - operatori aritmetici
<< >> - shift logico
& - bitwise e
^ - bitwise esclusivo o
| - bitwise o
= *= /= %= += -= - assegnazione
&= ^= |= <<= >>=
, - separatore espressione
Se si utilizzano operatori logici o di moduli, sarà necessario
racchiudere la stringa dell'espressione entro virgolette. Le stringhe
non numeriche
nell'espressione vengono considerate come nomi di variabili di ambiente
i cui valori sono
convertiti in numeri prima che vengano utilizzati. Se un nome di
variabile di ambiente
è specificato ma non definito nell'ambiente corrente, allora si
utilizza
un valore di zero. Così è possibile eseguire operazioni aritmetiche
con
valori di variabili di ambiente senza dover digitare tutti i segni %
per ottenere i rispettivi
valori. Se SET /A viene eseguito dalla riga di comando al di fuori di
uno
script, verrà visualizzato il valore finale dell'espressione.
L'operatore
dell'assegnazione richiede un nome di variabile di ambiente alla
sinistra
dell'operatore di assegnazione. I valori numerici sono numeri
decimali, a meno che
non siano preceduti da 0x per numeri esadecimali e 0 per numeri ottali.
Così 0x12 è analogo a 18 analogo a 022. Ricordare che la notazione
ottale può generare confusione: 08 e 09 non sono numeri validi poiché 8
e
9 non sono cifre ottali valide.
L'opzione /P consente di impostare il valore di una variabile a una
riga di input
immessa dall'utente. Visualizza la StringaPrompt specificata prima di
leggere
la riga di input. La StringaPrompt può essere vuota.
La sostituzione delle variabili di ambiente è migliorata come segue:
%PATH:str1=str2%
espande la variabile di ambiente PATH, sostituendo ciascuna occorrenza
di "str1" nel risultato espanso con "str2". "str2" può essere la
stringa
vuota per eliminare tutte le occorrenze di "str1" dall'output prodotto
dall'espansione. "str1" può iniziare con un asterisco, e in tal caso
sarà corrispondente
al punto di inizio dell'output dell'espansione fino alla prima
occorrenza della parte restante di str1.
Può anche specificare sottostringhe per un'espansione.
%PATH:~10,5%
espande la variabile di ambiente PATH, e quindi utilizza solo i 5
caratteri che cominciano all'undicesimo (offset 10) carattere del
risultato
dell'espansione. Se la lunghezza non è specificata, per impostazione
predefinita va al
resto del valore della variabile. Se uno dei numeri(offset o
lunghezza) è
negativo, il numero utilizzato è il valore della lunghezza della
variabile di
ambiente sommato all'offset o lunghezza specificati.
%PATH:~-10%
estrae gli ultimi 10 caratteri della variabile PATH.
%PATH:~0,-2%
estrae tutti tranne gli ultimi 2 caratteri della variabile PATH.
Infine, è stato aggiunto il supporto per l'espansione ritardata delle
variabili
di ambiente. Il supporto è disabilitato per impostazione predefinita,
ma è possibile
abilitarlo o meno mediante l'opzione /V del comando CMD.EXE. Vedere
CMD /?
L'espansione ritardata della variabile di ambiente è utile per ovviare
alle
limitazioni dell'espansione corrente che si verificano quando viene
letta
una riga di testo, non quando viene eseguita. L'esempio seguente
dimostra il problema con un'espansione immediata:
impostare VAR=prima
se "%VAR%" == "prima" (
impostare VAR=dopo
se "%VAR%" == "dopo" @echo In questo caso, ha funzionato
)
non mostrerebbe il messaggio poiché %VAR% nelle istruzioni BOTH IF
statements
viene sostituito alla lettura della prima istruzione IF, poiché include
logicamente
il corpo di IF, che è un'istruzione composta. Pertanto,
IF all'interno dell'istruzione composta mette a confronto "prima" con
"dopo" che non saranno mai uguali. Analogamente, l'esempio seguente
non funziona come dovrebbe:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
in quanto NON crea un elenco di file nella directory corrente,
ma invece imposta la variabile LIST all'ultimo file trovato.
Nuovamente, questo avviene perché %LIST% viene espanso solo una volta
alla
lettura dell'istruzione FOR, e in quel momento la variabile LIST è
vuota.
Quindi il loop FOR che in realtà si sta eseguendo è:
for %i in (*) do set LIST= %i
che mantiene l'impostazione di LIST all'ultimo file trovato.
L'espansione ritardata delle variabili di ambiente consente di
utilizzare un carattere
differente (punto esclamativo) perr espandere le variabili di ambiente
al
momento dell'esecuzione. Se l'espansione ritardata delle variabili di
ambiene è abilitata, gli esempi appena
mostrati potrebbero essere riportati come segue per funzionare
correttamente:
set VAR=prima
if "%VAR%" == "prima" (
set VAR=dopo
if "!VAR!" == "dopo" @echo In questo caso, ha funzionato
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
Se le estensioni ai comandi sono abilitate, sono presenti molte
variabili di
ambiente dinamiche che è possibile espandere ma che non appaiono
nell'elenco
delle variabili mostrate da SET. Questi valori sono
calcolati dinamicamente ad ogni espansione delle variabili.
Se l'utente definisce esplicitamente una variabile con uno di questi
nomi,
questa definizione sovrascrive la definizione dinamica descritta di
seguito:
%CD% - espande alla stringa di directory corrente.
%DATE% - espande alla data corrente utilizzando lo stesso formato del
comando DATE.
%TIME% - espande all'ora corrente utilizzando lo stesso formato del
comando TIME.
%RANDOM% - espande a un numero decimale scelto a caso tra 0 e 32767.
%ERRORLEVEL% - espande al valore ERRORLEVEL corrente
%CMDEXTVERSION% - espande al numero di versione delle estensioni del
processore
di comando corrente.
%CMDCMDLINE% - espande alla riga di comando iniziale che ha invocato il
processore di comando.
C:\WINDOWS>HELP SETLOCAL
Comincia la localizzazione dei cambiamenti all'ambiente effettuati in
un file batch.
I cambiamenti all'ambiente effettuati dopo l'esecuzione di SETLOCAL
sono
locali al file batch.
ENDLOCAL va usato per ripristinare le impostazioni precedenti. Una
volta
erminato uno script batch, viene eseguito ENDLOCAL per ogni
comando SETLOCAL emesso dallo script batch.
SETLOCAL
Se le estensioni di comando sono abilitate, SETLOCAL è cambiata come
segue:
il comando batch SETLOCAL accetta ora argomenti facoltativi:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
attiva e disattiva le estensioni del processore dei
comandi. Digitare
CMD /? per dettagli.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
attiva o disattiva l'espansione ritardata della variabile
di ambiente. Digitare SET /? per dettagli.
Queste modifiche si eseguono fino all'esecuzione del comando ENDLOCAL
indipendentemente dalle impostazioni precedenti il comando SETLOCAL.
Il comando SETLOCAL imposterà il valore di ERRORLEVEL se è fornito un
argomento. Il valore sarà 0 se l'argomento è uno dei due valori validi,
altrimenti sarà 1. È possibile utilizzare questo comando nei programmi
batch
per determinare se le estensioni sono disponibili. A questo scopo
utilizzare la
seguente sequenza di comandi:
VERIFY ALTRO 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Impossibile abilitare le estensioni
La correttezza della procedura di verifica si basa sul fatto che nelle
precedenti versioni di CMD.EXE SETLOCAL non impostava il valore di
ERRORLEVEL.
Il comando VERIFY seguito da un argomento non valido inizializza
ERRORLEVEL
ad un valore diverso da 0.