Elenco comandi DOS (v. Win XP) -...
Transcript of Elenco comandi DOS (v. Win XP) -...
1
Elenco comandi DOS (v. Win XP)
Per informazioni su uno specifico comando, digitare HELP nome comando
ASSOC Visualizza o modifica le applicazioni associate alle
estensioni dei file.
AT Pianifica l'esecuzione di comandi o programmi su un
computer.
ATTRIB Visualizza o cambia gli attributi di un file.
BREAK Attiva o disattiva il controllo esteso di CTRL+C.
CACLS Visualizza o modifica gli elenchi di controllo di accesso
(ACL) dei file.
CALL Richiama un programma batch da un altro.
CD Visualizza il nome o cambia la directory corrente.
CHCP Visualizza o imposta il numero di tabella codici attiva.
CHDIR Visualizza il nome o cambia la directory corrente.
CHKDSK Controlla un disco e visualizza il relativo rapporto
sullo stato.
CHKNTFS Visualizza o modifica la verifica di un disco durante
l'avvio.
CLS Cancella lo schermo.
CMD Avvia una nuova istanza dell'interprete dei comandi di
Windows.
COLOR Imposta i colori predefiniti in primo piano e dello
sfondo della console.
COMP Confronta il contenuto di due file o di un gruppo di
file.
COMPACT Visualizza o modifica la compressione di file su
partizioni NTFS.
CONVERT Converte volumi FAT in NTFS. Non è possibile convertire
l'unità in uso.
COPY Copia uno o più file in un'altra posizione.
DATE Visualizza o imposta la data.
DEL Elimina uno o più file.
DIR Visualizza un elenco di file e sottodirectory in una
directory.
DISKCOMP Confronta i contenuti di due dischi floppy.
DISKCOPY Copia il contenuto di un disco floppy su un altro.
DOSKEY Modifica righe di comando, richiama comandi di Windows,
crea macro.
ECHO Visualizza messaggi o attiva e disattiva l'eco dei
comandi.
ENDLOCAL Termina la localizzazione di modifiche di ambiente in un
file batch.
ERASE Elimina uno o più file.
EXIT Termina il programma CMD.EXE (interprete dei comandi).
FC Confronta due file o gruppi di file e visualizza le
differenze tra di essi.
FIND Ricerca una stringa di testo in un file o file.
FINDSTR Ricerca stringhe in file.
FOR Esegue un comando specificato per ogni file in un gruppo
di file.
FORMAT Formatta un disco per l'utilizzo con Windows.
2
FTYPE Visualizza o modifica i tipi di file utilizzati nelle
associazioni delle estensioni di file.
GOTO Dirige l'interprete dei comandi di Windows a una riga con
etichetta in un programma batch.
GRAFTABL Abilita Windows alla visualizzazione di un set di
caratteri estesi in modalità grafica.
HELP Fornisce informazioni di aiuto per i comandi di Windows.
IF Esegue un'elaborazione condizionale in un programma
batch.
LABEL Crea, cambia o elimina l'etichetta di volume di un disco.
MD Crea una directory.
MKDIR Crea una directory.
MODE Configura una periferica di sistema.
MORE Visualizza l'output una schermata alla volta.
MOVE Sposta uno o più file da una directory a un'altra
directory.
PATH Visualizza o imposta un percorso di ricerca per file
eseguibili.
PAUSE Sospende l'elaborazione di un file batch e visualizza un
messaggio.
POPD Ripristina il valore precedente della directory corrente
salvato con PUSHD.
PRINT Stampa un file di testo.
PROMPT Cambia il prompt dei comandi di Windows.
PUSHD Salva la directory corrente e poi la cambia.
RD Elimina una directory.
RECOVER Recupera le informazioni leggibili da un disco
danneggiato o difettoso.
REM Registra commenti (note) in file batch o CONFIG.SYS.
REN Rinomina i file.
RENAME Rinomina i file.
REPLACE Sostituisce i file.
RMDIR Elimina una directory.
SET Visualizza, imposta o elimina variabili di ambiente di
Windows.
SETLOCAL Inizia la localizzazione di modifiche di ambiente in un
file batch.
SHIFT Modifica la posizione di parametri sostituibili in file
batch.
SORT Ordina l'input.
START Avvia una finestra separata per eseguire un programma o
un comando specificato.
SUBST Associa un percorso ad una lettera di unità.
TIME Visualizza o imposta l'ora di sistema.
TITLE Imposta il titolo della finestra per una sessione
CMD.EXE.
TREE Visualizza graficamente la struttura delle directory di
un'unità o percorso.
TYPE Visualizza il contenuto di un file di testo.
VER Visualizza la versione di Windows.
VERIFY Comunica a Windows di verificare o meno che i file siano
stati scritti correttamente su un disco.
3
VOL Visualizza un'etichetta di volume e il numero di serie
del disco.
XCOPY Copia file e strutture di directory.
4
ASSOC
Visualizza o modifica le associazioni delle estensioni dei file
ASSOC [.ext[=[TipoFile]]]
.ext Specifica l'estensione del file da associare al tipo
di file con
TipoFile Specifica il tipo di file da associare all'estensione
del file
Digitare ASSOC senza parametri per visualizzare le associazioni dei
file correnti. Se ASSOC viene richiamato semplicemente con una
estensione di file, sarà visualizzata l'associazione corrente per
l'estensione in oggetto. Non specificando niente per il tipo di file,
il comando eliminerà l'associazione per l'estensione file in oggetto.
AT
Il comando AT pianifica comandi e programmi per l'esecuzione sul
computer all'ora e data specificata. Il servizio Pianificazione deve
essere avviato per poter usare il comando AT.
AT [\\nomecomputer] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\nomecomputer] ora [/INTERACTIVE]
[ /EVERY:data[,...] | /NEXT:data[,...]] "comando"
\\nomecomputer Specifica un computer remoto. I comandi sono
pianificati sul computer locale se questo
parametro è omesso.
id Numero di identificazione assegnato ad un
comando pianificato.
/delete Annulla un comando pianificato. Se id è omesso,
tutti i comandi pianificati sul computer vengono
annullati.
/yes Usato con il comando per annullare tutti i
processi se non si vuole che venga richiesta la
conferma.
ora Specifica l'ora alla quale eseguire il comando.
/interactive Consente al processo di interagire col desktop
dell'utente che è collegato quando il processo è
in esecuzione.
/every:data[,...] Esegue il comando in un giorno della settimana o
del mese. Se la data viene omessa viene usato il
giorno del mese corrente.
/next:data[,...] Esegue il comando specificato alla successiva
occorrenza della data (esempio: giovedì
prossimo). Se la data è omessa viene usato il
giorno del mese corrente.
"comando" Comando di Windows NT o programma batch da
eseguire.
5
ATTRIB
Visualizza o cambia gli attributi dei file.
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [unità:][perc]
[nomefile] [/S]
+ Imposta un attributo.
- Cancella un attributo.
R Attributo di file di sola lettura.
A Attributo di file di archivio.
S Attributo di file di sistema.
H Attributo di file nascosto.
[unità:][perc][nomefile]
Specifica uno o più file da elaborare.
/S Elabora i file specificati presenti nella cartella corrente
e in tutte le sottocartelle.
/D Elabora anche le cartelle.
BREAK
Imposta o annulla il controllo esteso di CTRL+C nel sottosistema DOS.
È presente per ragioni di compatibilità con i sistemi DOS. Non ha
effetto in Windows XP. Se le estensioni ai comandi sono abilitate e
operative su una piattaforma Windows XP, il comando BREAK inserisce un
breakpoint hardcoded se è sotto l'azione di un debugger.
CACLS
Visualizza o modifica gli elenchi di controllo di accesso (ACL) dei
file
CACLS nomefile [/T] [/E] [/C] [/G utente:perm] [/R utente [...]]
[/P utente:perm [...]] [/D utente [...]]
nomefile Visualizza ACL.
/T Cambia gli ACL dei file specificati nella
directory corrente e in tutte le sottodirectory.
/E Modifica ACL invece di sostituirlo.
/C Continua ignorando gli errori di accesso negato.
/G utente:perm Assegna all'utente specificato i diritti di
accesso.
Perm può essere: R Lettura
W Scrittura
C Modifica (scrittura)
F Controllo completo
6
/R utente Revoca i diritti di accesso dell'utente
specificato (valido solo con /E).
/P utente:perm Sostituisci i diritti di accesso dell'utente
specificato.
Perm può essere: N Nessuno
R Lettura
W Scrittura
C Modifica (scrittura)
F Controllo completo
/D utente Nega l'accesso all'utente specificato.
È possibile utilizzare caratteri jolly per specificare più di un file
in un comando.
È possibile specificare più di un utente in un comando.
Abbreviazioni:
CI - Eredità contatore.
ACE sarà ereditato dalle directory.
OI - Eredità oggetto.
ACE sarà ereditato dai file.
IO - Solo eredità.
ACE non sarà applicato al file/directory corrente.
CALL
Richiama un programma batch da un altro programma batch.
CALL [unità:][percorso]nomefile [parametri-batch]
parametri-batch Specificano informazioni richieste alla riga
di comando per il programma batch.
Se le estensioni di comando sono abilitate CALL è cambiato come segue:
il comando CALL può essere seguito da etichette. La sintassi è:
CALL :etichetta argomenti
Viene creato un nuovo contesto di file batch con i parametri
specificati, quindi il controllo viene passato al comando che segue
l'etichetta specificata. Per terminare l'esecuzione del file batch
occorre raggiungere due volte la fine del file batch: la prima volta
viene rilevata la fine del file e viene restituito il controllo
all'istruzione successiva al comando CALL, la seconda volta si uscirà
dal file batch. Digitare GOTO /? per la descrizione dell'estensione
GOTO :EOF che consente di "ritornare" in seguito a una chiamata
7
a un file batch. Inoltre l'espansione dei riferimenti agli argomenti
di un file batch (%0,%1, etc.) è cambiata come segue:
%* in un file batch si riferisce a tutti gli argomenti. Esempio:
%1 %2 %3 %4 %5 ...
La sostituzione dei parametri (%n) è stata migliorata. Ora, se
si desidera, è possibile utilizzare la seguente sintassi:
%~1 - sostituisce %1 rimuovendo il carattere "
%~f1 - sostituisce %1 con il percorso completo
%~d1 - sostituisce %1 solo con la lettera di unità
%~p1 - sostituisce %1 solo con il percorso
%~n1 - sostituisce %1 solo con il nome del file
%~x1 - sostituisce %1 solo con l'estensione del file
%~s1 - il percorso inserito contiene solo nomi corti
%~a1 - sostituisce %1 con l'attributo del file
%~t1 - sostituisce %1 con la data/ora del file
%~z1 - sostituisce %1 con la dimensione del file
%~$PATH:1 - cerca le directory che compaiono nella variabile di
ambiente PATH e sostituisce %1 con il percorso
completo della prima directory trovata. Se il nome
della variabile di ambiente non è definito o il
file non è trovato il modificatore prevede la
sostituzione con una stringa vuota
È possibile combinare i modificatori ed ottenere risultati
composti:
%~dp1 - sostituisce %1 solo con la lettera di unità e
il percorso
%~nx1 - sostituisce %1 solo con il nome del file e
l'estensione
%~dp$PATH:1 - cerca le directory che compaiono nella
variabile di ambiente PATH e sostituisce %1
con lettera di unità della prima directory
trovata
%~ftza1 - sostituisce %1 con una riga di output simile a
DIR
Negli esempi precedenti, %1 e PATH possono essere sostituiti con
altri valori validi. La sintassi %~ è terminata con un numero di
argomento valido. I modificatori %~ non possono essere utilizzati con
%*
CD - CHDIR
Cambia la directory corrente o ne visualizza il nome.
CHDIR [/D] [unità:][percorso]
CHDIR [..]
CD [/D] [unità:][percorso]
8
CD [..]
.. Indica che si desidera passare alla directory padre.
CD unità: visualizza la directory corrente dell'unità specificata.
CD senza parametri visualizza l'unità e la directory correnti.
Usare l'opzione /D per cambiare l'unità corrente insieme al
cambiamento della directory corrente per l'unità.
Se le estensioni ai comandi sono abilitate, CHDIR cambia come segue:
la stringa di directory corrente utilizzerà lo stesso caso,
maiuscole/minuscole, presente sui nomi di disco. Quindi CD C:\TEMP
imposta in realtà la directory corrente su C:\Temp se questo è il
formato su disco.
Il comando CHDIR non considera gi spazi come delimitatori, ed è quindi
possibile impiegare CD in in un nome di sottodirectory che contenga
uno spazio senza racchiudere il nome entro virgolette. Per esempio:
cd \winnt\profili\nomeutente\programmi\menu avvio
è analogo a:
cd "\winnt\profili\nomeutente\programmi\menu avvio"
che rappresenta ciò che si deve digitare con le estensioni
disabilitate.
CHKDSK
Controlla un disco e visualizza il relativo rapporto sullo stato.
CHKDSK [unità:][[percorso]nomefile] [/F] [/V] [/R] [/X] [/I] [/C]
[/L[:dimensioni]]
volume Specifica la lettera di unità (seguita da due
punti), punto di montaggio o nome del volume.
nomefile Solo FAT: specifica i file di cui controllare la
frammentazione.
/F Risolve gli errori su disco.
/V Su FAT/FAT32: visualizza il percorso completo e
il nome di ogni file sul disco.
Su NTFS: visualizza gli eventuali messaggi di
pulitura.
/R Individua i settori danneggiati e recupera le
informazioni leggibili (implica /F).
/L:dimensioni Solo NTFS: cambia le dimensioni del file
registro al valore specificato di kilobyte. Se
9
non sono specificati valori, visualizza le
dimensioni correnti.
/X Forza la disinstallazione del volume, se
necessario.
Tutti gli handle del volume sarebbero quindi non
validi (implica /F).
/I Solo NTFS : esegue un controllo meno accurato
delle voci di indice.
/C Solo NTFS: salta il controllo dei cicli
all'interno della struttura delle cartelle.
L'opzione /I o /C riduce il tempo necessario all'esecuzione di Chkdsk
saltando alcuni controlli del volume.
CHKNTFS
Visualizza o modifica il controllo del disco durante la fase di avvio.
CHKNTFS volume [...]
CHKNTFS /D
CHKNTFS /T[:ora]
CHKNTFS /X volume [...]
CHKNTFS /C volume [...]
volume Specifica lettera di unità (seguita da due
punti), punto di montaggio o nome volume.
/D Ripristina il computer alle impostazioni
predefinite; tutte le unità sono controllate
durante l'avvio e chkdsk viene eseguito su quelle
danneggiate.
/T:ora Indica il conteggio alla rovescia prima
dell'avvio di AUTOCHK in secondi. Se la durata
non è specificata, visualizza l'impostazione
corrente.
/X Esclude un'unità dal controllo predefinito
all'avvio. Le unità escluse non vengono
accumulate tra le invocazioni dei comandi.
/C Programma il controllo di un'unità all'avvio;
chkdsk sarà eseguito se l'unità è danneggiata.
Se non sono specificate opzioni, CHKNTFS visualizzerà se l'unità
specificata è danneggiata o se è programmata per un controllo al
prossimo avvio.
CLS
Cancella lo schermo.
CLS
10
CMD
Avvia una nuova istanza dell'interprete dei comandi di Windows XP
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF]
[/V:ON | /V:OFF] [[/S] [/C | /K] stringa]
/C Esegue il comando specificato dalla stringa, quindi
termina
/K Esegue il comando specificato dalla stringa e rimane
/S Modifica il trattamento della stringa dopo /C o /K (vedere
di seguito)
/Q Disattiva echo
/D Disabilita l'esecuzione di comandi AutoRun dal registro
(vedere di seguito)
/A Rende l'output di comandi interni per pipe o file in
formato ANSI
/U Rende l'output di comandi interni per pipe o file in
formato Unicode
/T:fg Imposta i colori primo piano/sfondo (vedere COLOR /? per
ulteriori informazioni)
/E:ON Abilita estensioni ai comandi (vedere di seguito)
/E:OFF Disabilita estensioni ai comandi (vedere di seguito)
/F:ON Abilita caratteri di completamento nome directory e file
(vedere di seguito)
/F:OFF Disabilita caratteri di completamento nome directory e
file (vedere di seguito)
/V:ON Abilita l'espansione ritardata delle variabili di ambiente
utilizzando ! come delimitatore. Per esempio, /V:ON
consente a !var! di espandere la variabile var al momento
dell'esecuzione. La sintassi var espande le variabili al
momento dell'input, che è abbastanza differente
all'interno di un loop FOR.
/V:OFF Disabilita l'espansione ritardata dell'ambiente.
Ricordare che comandi multipli separati da separatori "&&" sono
accettati per le stringhe se circoscritti da virgolette. Inoltre, per
ragioni di incompatibilità, /X è analogo a /E:ON, /Y è analogo a
/E:OFF e /R è analogo a /C. Le altre opzioni sono ignorate.
Se è specificato /C o /K, la parte restante della riga di comando dopo
l'opzione viene elaborata come una riga di comando, in cui viene usata
la seguente logica per elaborare le virgolette ("):
1. Se sono soddisfatte tutte le seguenti condizioni, le
virgolette nella riga di comando vengono conservate:
- senza opzione /S
- esattamente due caratteri di virgolette
- senza caratteri speciali tra due caratteri di
virgolette, dove per speciali si intende uno tra:
&<>()@^|
- sono presenti uno o più spazi vuoti tra le due virgolette
11
- la stringa tra i due caratteri di virgolette è il nome
di un file eseguibile.
2. Altrimenti, si osserva se il primo carattere è un
carattere di virgolette e, in tal caso, si eliminerà il
primo carattere e l'ultimo carattere di virgolette nella
riga di comando, conservando il testo che segue l'ultimo
carattere di virgolette.
Se /D NON è stato specificato sulla riga di comando, all'avvio di
CMD.EXE, viene effettuata la ricerca delle seguenti variabili di
registro REG_SZ/REG_EXPAND_SZ, e se una o entrambe sono presenti,
vengono eseguite per prime.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\AutoRun
e/o
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
Le estensioni ai comandi sono abilitate per impostazioni predefinite.
È possibile disabilitare le estensioni per una particolare invocazione
utilizzando l'opzione /E:OFF. È possibile abilitare o disabilitare le
estensioni per tutte le chiamate di CMD.EXE su un computer e/o per la
sessione di accesso utente impostando uno o entrambi dei seguenti
velori REG_DWORD nel registro tramite REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\EnableExtensions
e/o
HKEY_CURRENT_USER\Software\Microsoft\Command
Processor\EnableExtensions
a 0x1 o 0x0. Le impostazioni specifiche per l'utente hanno precedenza
sulle impostazioni del computer. Le opzioni della riga di comando
hanno precedenza sulle impostazioni di registro.
Le estensioni ai comandi riguardano modifiche e/o aggiunte ai seguenti
comandi:
DEL o ERASE
COLOR
CD o CHDIR
MD o MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
12
IF
FOR
CALL
SHIFT
GOTO
START (include inoltre modifiche alla chiamata di comandi
esterni)
ASSOC
FTYPE
Per avere ulteriori informazioni, digitare nome comando /? per
visualizzare le spiegazioni in dettaglio.
L'espansione ritardata delle variabili d'ambiente NON è abilitata per
impostazione predefinita. È possibile abilitare o disabilitare tale
funzionalità per una particolare chiamata di CMD.EXE con l'opzione
/V:ON o /V:OFF. È possibile abilitare o disabilitare il completamento
di tutte le chiamate di CMD.EXE su un computer e/o sessione di accesso
utente impostando uno o entrambi dei seguenti valori REG_DWORD nel
registro utilizzando REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\DelayedExpansion
e/o
HKEY_CURRENT_USER\Software\Microsoft\Command
Processor\DelayedExpansion
a 0x1 o 0x0. Le impostazioni specifiche per l'utente hanno precedenza
sulle impostazioni del computer. Le opzioni della riga di comando
hanno precedenza sulle impostazioni di registro.
Se l'espansione ritardata delle variabili di ambiente è abilitata, è
possibile utilizzare il carattere punto esclamativo per sostituire il
valore di una variabile di ambiente al momento dell'esecuzione.
Il completamento dei nomi di file e directory NON è abilitato per
impostazione predefinita. È possibile abilitare o disabilitare tale
funzionalità per una particolare chiamata di CMD.EXE con l'opzione
/F:ON o /F:OFF. È possibile abilitare o disabilitare il completamento
per tutte le chiamate di CMD.EXE su un computer e/o sessione di
accesso utente impostando uno o entrambi dei seguenti valori REG_DWORD
nel registro utilizzando REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\PathCompletionChar
e/o
13
HKEY_CURRENT_USER\Software\Microsoft\Command
Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command
Processor\PathCompletionChar
con il valore esadecimale di un carattere di controllo da utilizzare
per una particolare funzione (per es., 0x4 è Ctrl-D e 0x6 è Ctrl-F).
Le impostazioni specifiche per l'utente hanno precedenza sulle
impostazioni del computer. Le opzioni della riga di comando hanno
precedenza sulle impostazioni di registro.
Se il completamento è abilitato con l'opzione /F:ON, i due caratteri
di controllo utilizzati sono CTRL+D per il completamento nome
directory e CTRL+F per il completamento nome file. Per disabilitare un
carattere di completamento particolare nel registro, utilizzare il
valore per lo spazio (0x20), in quanto non è un carattere di controllo
valido.
Il completamento viene richiamato digitando uno dei due caratteri di
controllo. La funzione di completamento prende la stringa di percorso
alla sinistra del cursore, aggiunge un carattere jolly se già non ve
ne sono e crea un elenco di percorsi che corrispondono. Quindi,
visualizza il primo percorso corrispondente. Se non sono presenti
percorsi corrispondenti, emette un segnale acustico e lascia così il
monitor. Successivamente, premendo ripetutamente lo stesso carattere
di controllo, si potrà consultare l'elenco dei percorsi
corrispondenti. Premendo il tasto MAIUSC con il carattere di
controllo, ci si potrà spostare lungo l'elenco in direzione inversa.
Se la riga viene modificata in qualche modo e si preme nuovamente il
carattere di controllo, l'elenco salvato in precedenza viene scartato
e ne viene creato un altro. Lo stesso avviene se si passa dal
completamento di nome file a quello di directory. L'unica differenza
tra i due caratteri di controllo è che il carattere di completamento
file corrisponde a nome file e directory, mentre il carattere
completamento directory corrisponde solo ai nomi directory. Se il
completamento file viene utilizzato su uno qualsiasi dei comandi di
directory incorporati (CD, MD o RD), si presuppone il completamento
della directory.
Il codice di completamento funziona correttamente con nomi di file che
contengono spazi o altri caratteri speciali aggiungendo delle
virgolette alle estremità del percorsa corrispondente. Inoltre, se si
effettua il backup, quindi si richiama il completamento all'interno di
una riga, il testo alla destra del cursore al momento in cui il
completamento è stato richiamato, viene scartato.
I caratteri speciali che richiedono virgolette sono:
<spazio>
&()[]{}^=;!'+,`~
14
COLOR
Imposta i colori predefiniti per il testo e lo sfondo della console.
COLOR [attr]
attr Specifica gli attributi per il colore della finestra
di console
Gli attributi per il colore sono specificati usando DUE cifre
esadecimali:
la prima per lo sfondo, la seconda per il testo. Ciascun valore deve
essere scelto tra i seguenti:
0 = Nero 8 = Grigio
1 = Blu scuro 9 = Blu
2 = Verde A = Verde limone
3 = Verde acqua B = Azzurro
4 = Bordeaux C = Rosso
5 = Viola D = Fucsia
6 = Verde oliva E = Giallo
7 = Grigio chiaro F = Bianco
Se non viene fornito alcun argomento, il comando ripristina i colori
alla impostazione presente all'avvio di CMD.EXE. Il valore proviene
dalla finestra di console corrente, dall'opzione /T della riga di
comando o dal valore DefaultColor del Registro di sistema.
Se si tenta di impostare con il comando COLOR il medesimo valore
per lo sfondo e il testo, il valore di ERRORLEVEL viene impostato
a 1.
Esempio: "COLOR fc" imposta testo rosso su sfondo bianco
COMP
Confronta il contenuto di due file o gruppi di file.
COMP [dati1] [dati2] [/D] [/A] [/L] [/N=numero] [/C] [/OFF[LINE]]
dati1 Specifica la posizione e il nome del primo file da
confrontare.
dati2 Specifica la posizione e il nome del secondo file da
confrontare.
/D Visualizza le differenze in formato decimale.
/A Visualizza le differenze in caratteri ASCII.
/L Visualizza i numeri delle righe differenti.
/N=numero Confronta solo il numero specificato di linee in ogni
file.
/C Trascura il caso di caratteri ASCII nel confronto dei
file.
/OFF[LINE] Non ignora i file in cui è impostato l'attributo non
in linea.
15
Per confrontare gruppi di file, utilizzare caratteri jolly nei
parametri dati1 e dati2.
COMPACT
Visualizza e modifica la compressione dei file sulle partizioni NTFS.
COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [nomefile [...]]
/C Comprime il file specificato. Le directory verranno
marcate affinché i file aggiunti successivamente
vengano compressi.
/U Decomprime il file specificato. Le directory verranno
marcate affinché i file aggiunti successivamente non
vengano compressi.
/S Esegue l'operazione specificata sui file nella directory
data e in tutte le sue sottodirectory. La directory
predefinita è quella corrente.
/A Mostra i file con gli attributi nascosti o di sistema.
L'impostazione predefinita prevede che questi file
vengono omessi.
/I Continua ad eseguire l'operazione specificata anche
dopo che si sono verificati degli errori. L'impostazione
predefinita prevede che COMPACT si arresti quando incontra
un errore.
/F Forza l'operazione di compressione su tutti i file
specificati, anche quelli che sono già compressi.
L'impostazione predefinita prevede che i file già
compressi vengano ignorati.
/Q Riporta solo le informazioni essenziali.
nomefile Specifica un criterio di ricerca, un file, o una
directory.
Usato senza parametri, COMPACT visualizza lo stato di compressione
della directory corrente e dei file in essa contenuti. Si possono
usare nomi di file multipli e caratteri jolly. Bisogna inserire degli
spazi tra i parametri multipli.
CONVERT
Converte volumi FAT in NTFS.
CONVERT volume: /FS:NTFS [/V] [/CvtArea:nomefile] [/NoSecurity] [/X]
volume Specifica la lettera dell'unità, il punto di montaggio o
il nome del volume seguiti da due punti.
/FS:NTFS Specifica la conversione del volume in NTFS.
/V Specifica che Convert dovrebbe essere eseguito in modalità
dettagliata.
/CvtArea:nomefile
16
Specifica un file contiguo nella direcotry principale
come segnaposto per i file di sistema NTFS.
/NoSecurity Specifica che le impostazioni di protezione dei file
convertiti e delle directory sono accessibili a tutti.
/X Forza il volume a essere smontato per primo se
necessario.
Tutti gli handle del volume aperti non saranno più
validi.
COPY
Copia uno o più file in un'altra posizione.
COPY [/D] [/V] [/N] [/Y] [/-Y] [/Z] [/A | /B] origine [/A | /B]
[+ origine [/A | /B] [+ ...]] [destinazione [/A | /B]]
origine Indica i file da copiare.
/A Indica un file di testo ASCII.
/B Indica un file binario.
/D Consente la creazione del file di destinazione come
decrittografato
destinazione specifica la directory e/o il nome dei nuovi file.
/V Verifica che i nuovi file siano stati copiati
correttamente.
/N Usa nomi file contratti, se disponibili, durante la
copia di file con nome lungo.
/Y Non chiede la conferma prima di sovrascrivere un
file di destinazione esistente.
/-Y Chiede la conferma prima di sovrascrivere un file di
destinazione esistente.
/Z Copia i file dalla rete in modalità riavviabile.
L'opzione /Y potrebbe essere preimpostata nella variabile di ambiente
COPYCMD. Questa operazione può essere annullata inserendo /-Y nella
riga di comando. Per impostazione predefinita la conferma viene
richiesta a meno che il comando COPY non venga eseguito da uno script
di tipo batch.
Per concatenare i file, specificare un solo file di destinazione e più
file di origine (usando caratteri jolly o il formato
file1+file2+file3).
DATE
Visualizza o imposta la data.
DATE [/T | data]
Digitare DATE senza parametri per visualizzare la data corrente e
reimpostarla. Premere INVIO per mantenere la stessa data. Se le
estensioni ai comandi sono abilitate, il comando DATE supporta
17
l'opzione /T che comunica al comando di mostrare la data corrente,
senza richiedere una nuova data.
DEL | ERASE
Elimina uno o più file.
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributi]] nomefile
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributi]] nomefile
nomefile Specifica un elenco di uno o più file odirectory.
Usare i caratteri jolly per eliminare più file.
Specificando una directory, tutti i file al suo
interno saranno eliminati.
/P Chiede conferma prima di eliminare ogni file.
/F Forza l'eliminazione dei file di sola lettura.
/S Elimina i file specificati da tutte le sottodirectory.
/Q Modalità silenziosa, non chiede conferma per
eliminazioni globali.
/A Seleziona i file da eliminare in base agli attributi.
attributi R File di sola lettura S File di sistema
H File nascosti A File di archivio
- Prefisso per negare l'attributo
Se le estensioni ai comandi sono abilitate, DEL e ERASE saranno
modificati come segue:
la semantica di visualizzazione del'opzione /S viene modificata e
vengono mostrati solo i file che vengono eliminati, non quelli che è
impossibile trovare.
DIR
Mostra l'elenco dei file e delle sottodirectory in una directory.
DIR [unità:][percorso][nomefile] [/A[[:]attributi]] [/B] [/C] [/D]
[/L] [/N] [/O[[:]ordinamento]] [/P] [/Q] [/S] [/T[[:]campo data]] [/W]
[/X] [/4]
[unità:][percorso][nomefile]
Specifica unità, directory e/o file da elencare.
/A Visualizza file con gli attributi specificati.
attributi D Directory R File sola lettura
H File nascosti A File archivio
S File di sistema - Prefisso per negare
l'attributo
/B Usa lista file senza intestazione o inform. di
riepilogo.
18
/C Visualizza separatore delle migliaia nelle dimensioni
dei file. Questo valore è predefinito. Usare /-C per
disabilitarlo.
/D Come in /W, ordinati per colonna.
/L Usa caratteri minuscoli.
/N Nuovo formato lungo, con nomi file a destra.
/O Elenca file ordinandoli.
ordinamento N Per nome, alfabetico S Per dimensione, dal
minore
E Per estensione, alfabetico D Per data e ora dal più
vecchio
G Mostra prima directory - Prefisso per invertire
ordine
/P Mostra elenco una schermata per volta.
/Q Mostra il proprietario del file.
/S Mostra file della directory e delle sue sottodirectory.
/T Controlla campo data visualizzato o usato per ordinare.
campo data C Creazione
A Ultimo accesso
W Ultima scrittura
/W Visualizza in formato ampio.
/X Mostra nomi contratti generati per i nomi con formato
lungo.
Il formato è come quello di /N con nomi contratti prima
del nome esteso. Se non ci sono nomi contratti
vengono visualizzati spazi bianchi.
/4 Mostra l'anno in formato 4 cifre
Le opzioni possono essere preimpostate nella variabile d'ambiente
DIRCMD.
Le opzioni preimpostate vengono annullate con un trattino, es./-W.
DISKCOMP
Confronta i contenuti di due dischi floppy.
DISKCOMP [unità1: [unità2:]]
DISKCOPY
Copia il contenuto di un disco floppy su un altro.
DISKCOPY [unità1: [unità2:]] [/V]
/V Verifica che le informazioni vengano copiate correttamente.
I due dischi floppy devono essere dello stesso tipo.
Si può specificare la stessa unità per unità1 e unità2.
DOSKEY
19
Modifica le righe di comando, richiama i comandi di Windows XP e crea
macro.
DOSKEY [/REINSTALL] [/LISTSIZE=dim.] [/MACROS[:ALL | :nome exe]]
[/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=nome exe]
[/MACROFILE=nomefile]
[nome macro=[testo]]
/REINSTALL Installa una nuova copia di Doskey.
/LISTSIZE=dim. Imposta la dimensione del buffer dei comandi.
/MACROS Visualizza tutte le macro di Doskey.
/MACROS:ALL Visualizza tutte le macro di Doskey per tutti i
file eseguibili che hanno macro di Doskey.
/MACROS:nome exe Visualizza tutte le macro di Doskey per il file
eseguibile indicato.
/HISTORY Visualizza tutti i comandi memorizzati.
/INSERT Specifica che il nuovo testo digitato venga
inserito in quello esistente.
/OVERSTRIKE Specifica che il nuovo testo sovrascriva quello
esistente.
/EXENAME=nome exe Specifica il file eseguibile.
/MACROFILE=nomefile Specifica il file di macro da installare.
nome macro Specifica il nome della macro che si sta
creando.
testo Specifica i comandi che si vogliono
memorizzare.
FRECCIA SU e FRECCIA GIU' richiamano i comandi; ESC cancella la riga
di comando; F7 visualizza i comandi eseguiti; ALT+F7 cancella i
comandi eseguiti; F8 ricerca tra i comandi eseguiti; F9 seleziona un
comando in base al numero; ALT+F10 cancella le definizioni delle
macro.
Di seguito viene riportato un elenco di alcuni codici specifici per la
definizione di macro Doskey:
$T Separatore di comandi. Consente comandi multipli in una macro.
$1-$9 Comandi batch. Equivalenti a %1-%9 in programmi batch.
$* Simbolo sostituito da ciò che segue il nome della macro sulla
riga di comando.
ECHO
Visualizza messaggi, oppure attiva/disattiva la ripetizione dei
comandi.
ECHO [ON|OFF]
ECHO [messaggio]
Digitare ECHO senza parametri per visualizzare l'impostazione
corrente.
Rende globali i cambiamenti all'ambiente effettuati in un file batch.
20
I cambiamenti all'ambiente effettuati dopo l'esecuzione di ENDLOCAL
non sono locali al file batch. Le impostazioni precedenti non verranno
ripristinate alla terminazione del file batch.
ENDLOCAL
Se le estensioni ai comandi sono abilitate, ENDLOCAL è cambiato come
segue:
se il corrispondente comando SETLOCAL aveva abilitato o disabilitato
le estensioni ai comandi utilizzando le nuove opzioni ENABLEEXTENSIONS
o DISABLEEXTENSIONS, dopo l'esecuzione di ENDLOCAL sarà ripristinato
lo stato (abilitato\disabilitato) precedente all'esecuzione del
SETLOCAL corrispondente.
ERASE | DEL
Vedi DEL.
EXIT
Termina il programma CMD.EXE (interprete dei comandi) o lo script
batch corrente.
EXIT [/B] [exitCode]
/B specifica la terminazione del batch corrente invece di
CMD.EXE. Se eseguito al di fuori di uno script batch,
terminerà CMD.EXE
exitCode specifica un numero. se /B è specificato, imposta
ERRORLEVEL a tale numero. Se si termina CMD.EXE,
imposta il codice di uscita del processo a tale numero.
FC
Confronta due file o gruppi di file e ne visualizza le differenze.
FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/U] [/W] [/nnnn]
[unità1:][percorso1]file1
[unità2:][percorso2]file2
FC /B [unità1:][percorso1]file1 [unità2:][percorso2]file2
/A Visualizza solo la prima e l'ultima riga per ogni insieme
di\n differenze.
/B Esegue un confronto binario.
/C Ignora maiuscole/minuscole.
/L Confronta i file come testo ASCII.
21
/LBn Imposta il numero massimo di corrispondenze mancate
consecutive al numero di righe specificato.
/N Visualizza i numeri di riga in un confronto ASCII.
/OFF[LINE] Non ignora i file in cui è impostato l'attributo non in
linea.
/T Non espande le tabulazioni in spazi.
/U Confronta i file come file di testo UNICODE.
/W Comprime gli spazi bianchi (tabulazioni e spazi) per il
confronto.
/nnnn Specifica il numero consecutivo di righe che devono
corrispondere dopo una mancata corrispondenza.
[unità1:][perc1]nomefile1
Specifica il primo file o gruppo di file da confrontare.
[unità2:][perc2]nomefile2
Specifica il secondo file o gruppo di file da
confrontare.
FIND
Cerca una stringa di testo in uno o più file.
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "stringa"
[[unità:][percorso]nomefile[ ...]]
/V Visualizza le righe NON contenenti la stringa specificata.
/C Visualizza solo il conteggio delle righe contenenti la
stringa.
/N Visualizza i numeri delle righe visualizzate.
/I Ignora maiuscole/minuscole durante la ricerca della
stringa.
/OFF[LINE] Non ignora i file in cui è impostato l'attributo non in
linea.
"stringa" Specifica la stringa di testo da cercare.
[unità:][percorso]nomefile
Specifica uno o più file in cui ricercare.
Se non viene specificato il percorso, FIND cerca il testo digitato al
prompt dei comandi o reindirizzato da un altro comando.
FINDSTR
Ricerca le stringhe nei file.
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
[/F:file]
[/C:stringa] [/G:file] [/D:elenco dir] [/A:attributi colori]
[/OFF[LINE]]
stringhe [[unità:][percorso]nomefile[ ...]]
/B Ricerca l'elemento all'inizio della riga.
/E Ricerca l'elemento alla fine della riga.
22
/L Utilizza le stringhe di ricerca letteralmente.
/R Utilizza le stringhe di ricerca come espressioni
regolari.
/S Ricerca i file nella directory corrente e in tutte le
sottodirectory.
/I Specifica che la ricerca non deve distringuere tra
maiuscole e minuscole.
/X Stampa le righe esattamente corrispondenti.
/V Stampa solo le righe che non contengono corrispondenze.
/N Stampa il numero della riga precedente a quella
corrispondente.
/M Stampa solo il nome fle se il file contiene una
corrispondenza.
/O Stampa l'offset carattere prima di ogni riga
corrispondente.
/P Ignora i file con caratteri non stampabili.
/OFF[LINE] Non ignora i file in cui è impostato l'attributo non in
linea.
/A:attr Specifica attributo colori con due cifre esadecimali.
Vedere "color /?"
/F:file Legge l'elenco file dal file specificato (/ sta per
console).
/C:stringa Utilizza la stringa specificata per una ricerca
letterale.
/G:file Rileva le stringe di ricerca dal file specificato (/ sta
per console).
/D:dir Ricerca un elenco di stringhe di directory delimitato da
punto e virgola.
stringhe Testo da ricercare.
[unità:][percorso]nomefile
Specifica i file da ricercare.
Usare spazi per separare le stringhe per ricerche multiple a meno che
l'argomento sia preceduto da /C. Per esempio, 'FINDSTR "ciao là" x.y'
ricerca "ciao" o "là" nel file x.y. 'FINDSTR /C:"ciao là" x.y'
ricerca "ciao là" nel file x.y.
Riferimento rapido di espressione regolare:
. Carattere jolly: qualsiasi
* Ripetere: zero o più occorrenze di carattere o classe
precedente
^ Posizione riga: inizio riga
$ Posizione riga: fine riga
[classe] Classe carattere: qualsiasi carattere dell'insieme
[^class] Classe inversa: qualsiasi carattere non nell'insieme
[x-y] Intervallo: qualsiasi carattere nell'intervallo
specificato
\x Escape: uso letterale del metacarattere x
\<xyz Posizione parola: inizio parola
xyz\> Posizione parola: fine parola
Per le informazioni complete sulle espressioni regolari di FINDSTR
fare riferimento alla Guida comandi in linea.
23
FOR
Esegue il comando specificato per ogni file di un gruppo di file.
FOR %variabile IN (gruppo) DO comando [parametri del comando]
%variabile Indica un parametro sostituibile composto da una sola
lettera.
(gruppo) Indica gruppo di uno o più file. Si possono usare
caratteri jolly.
comando Specifica il comando da eseguire per ciascun file.
parametri del comando Indica i parametri o le opzioni del comando
specificato.
Per usare FOR in un programma batch, utilizzare la sintassi
%%variabile anziché %variabile. Le variabili possono essere
differenziate utilizzando lettere maiuscole e minuscole. Esempio: %i è
diversa da %I.
Se le estensioni ai comandi sono attivate è possibile utilizzare le
seguenti opzioni per il comando FOR:
FOR /D %variabile IN (gruppo) DO comando [parametri-comando]
Se gruppo contiene dei caratteri jolly, vengono utilizzati
nomi di directory invece di nomi di file.
FOR /R [[unità:]percorso] %variabile IN (gruppo) DO comando
[parametri-comando]
Nella struttura della directory, a partire da [unità:]percorso,
esegue l'istruzione FOR in ogni directory della struttura. Se dopo /R
non viene specificato alcun percorso la directory corrente è assunta
come iniziale.
Se per il parametro gruppo si usa solo un carattere punto
(.)saranno elencate le directory nella struttura della directory
specificata.
FOR /L %variabile IN (inizio,incremento,fine) DO comando [parametri-
comando]
Il gruppo è la sequenza dei numeri da inizio a fine con
differenza, tra un numero e il successivo, pari a incremento.
Per esempio: (1,1,5) genererà 1 2 3 4 5 e (5,-1,1) genererà la
sequenza (5 4 3 2 1)
FOR /F ["opzioni"] %variabile IN (gruppofile) DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("stringa") DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("comando") DO comando [parametri-
comando]
24
o, se l'opzione usebackq è presente:
FOR /F ["opzioni"] %variabile IN (gruppofile) DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("stringa") DO comando [parametri-
comando]
FOR /F ["opzioni"] %variabile IN ("comando") DO comando [parametri-
comando]
gruppofile contiene uno o più nomi di file. Ciascun file sarà
aperto, letto ed elaborato prima di passare al file successivo in
gruppofile.
L'elaborazione consiste nel leggere il file, suddividerlo nelle
singole righe di testo e scomporre ciascuna riga negli eventuali token
che vi sono contenuti. Il comando all'interno del ciclo viene dunque
richiamato utilizzando, come valori delle variabili, le stringhe dei
token trovati. La modalità predefinita prevede che /F passi il primo
token delimitato da spazi di ogni riga di ogni file. Le righe vuote
sono scartate.
La scomposizione in token può essere modificata specificando il
parametro facoltativo "opzioni". Il parametro deve essere una stringa
tra virgolette contenente una o più parole chiave che specifichino
diversi parametri per la scomposizione in token. Le parole chiave
sono:
eol=c - specifica il carattere che precede un
commento alla fine di una riga (solo uno)
skip=n - specifica il numero di righe all'inizio del
file che devono essere ignorate.
delims=xxx - specifica un insieme di delimitatori. Questo
insieme sostituisce i delimitatori
predefiniti (spazi e tabulazioni).
tokens=x,y,m-n - specifica quali token appartenenti a una riga
devono essere passati al comando ad ogni
iterazione. L'opzione richiede l'utilizzo di
nomi di variabili aggiuntivi. L'espressione
m-n indica i token dall'm-esimo all'n-esimo.
Se l'ultimo carattere, nella stringa tokens=,
è un asterisco viene allocata una variabile
aggiuntiva cui sarà assegnato il testo
rimanente dopo l'assegnazione dell'ultimo
token.
usebackq - specifica che le nuove modalità sono attive,
ove una stringa con apici inversi è eseguita
come un comando e una stringa con apici
singoli è una stringa di comando che consente
l'utilizzo del doppio apice per i nomi file
in un gruppofile.
Esempi:
25
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j
%k
analizza ogni riga in miofile.txt, ignorando le righe che
cominciano con punto e virgola, passando il secondo e terzo token da
ciascuna riga al corpo di for, con i token delimitati da virgole e/o
spazi. Da notare il riferimento %i delle istruzioni del corpo di for
di ottenere il secondo token, %j di ottenere il terzo token, e %k di
ottenere i token rimanenti dopo il terzo. Per i nomi file che
contengono spazi, è necessario racchiudere i nomi file entro
virgolette. In questo caso, è anche importante utilizzare l'opzione
usebackq, altrimenti le virgolette saranno interpretate come la
definizione di una stringa letterale da analizzare.
%i è esplicitamente dichiarato nell'istruzione for e %j e %k
sono dichiarati per via implicita mediante l'opzione tokens=. È
possibile specificare fino a 26 token mediante la riga tokens=, a
condizione che non causi un tentativo di dichiarare una variabile più
alta della lettera "z" o "Z".
Ricordare che le variabili FOR sono composte da una sola lettera,
seguono la distinzione maiuscole/minuscole, sono globali e non è
possibile che ve ne siano più di 52 attivi contemporaneamente.
È inoltre possibile utilizzare la logica di analisi FOR /F
trasformando il gruppo di nomi file tra parentesi in una stringa
utilizzando delle semplici virgolette. La stringa sarà trattata come
riga di input unica da un file, e quindi analizzata.
Infine, è possibile usare il comando FOR /F per analizzare
l'output di un comando trasformando il gruppo di nomi file tra
parentesi in una stringa con virgolette inverse. La stringa sarà
trattata come una riga di comando passata a un figlio CMD.EXE,
l'output è acquisito in memoria e analizzato come fosse un file.
Pertanto il seguente
esempio:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
enumera i nomi di variabili nell'ambiente corrente.
Sono stati anche migliorati i riferimenti alla avariabile FOR.
YÈ ora possibile utilizzare la seguente sintassi:
%~I - espande %I rimuovendo le virgolette (")
%~fI - espande %I rendendolo un nome di percorso completo
%~dI - espande %I solo a lettera di unità
%~pI - espande %I solo a percorso
%~nI - espande %I solo a nome file
%~xI - espande %I solo a estensione file
%~sI - il percorso espanso contiene solo nomi brevi
%~aI - espande %I ad attributi file
%~tI - espande %I a data/ora file
%~zI - espande %I a dimensioni file
26
%~$PATH:I - ricerca nelle directory elencate nella variabile di
ambiente PATH ed espande %I al primo nome completo
incontrato. Se la variabile di ambiente non è
definita o il file non è trovato nella ricerca,
questo carattere di modifica espande alla prima
stringa vuota
I caratteri di modifica possono essere combinati insieme:
%~dpI - espande %I solo a lettera di unità e percorso
%~nxI - espande %I solo a nome file e estensione
%~fsI - espande %I solo a nome di percorso completo con nomi
brevi
%~dp$PATH:i - ricerca nelle directory elencate nella variabile di
ambiente PATH per %I ed espande ai primi
lettera di unità e percorso trovati.
%~ftzaI - espande %I a una DIR come riga di output
Negli esempi citati %I e PATH possono essere sostituiti da altri
valori validi. La sintassi %~ viene terminata con un nome di variabile
FOR valido. Scegliendo nomi di variabile con caratteri maiuscoli come
%I il testo diventa più leggibile ed evita confusione con i caratteri
di modifica, che non seguono la distinzione maiuscole/minuscole.
FORMAT
Formatta un disco per l'utilizzo con Windows XP.
FORMAT unità: [/FS:file-system] [/V:etichetta] [/Q]
[/A:dimensione][/C]
FORMAT unità: [/V:etichetta] [/Q] [/F:dimensione]
FORMAT unità: [/V:etichetta] [/Q] [/T:tracce /N:settori]
FORMAT unità: [/V:etichetta] [/Q]
FORMAT volume [/Q]
volume Specifica la lettera di unità (seguita da due
punti), punto di montaggio o nome volume.
/FS:filesystem Specifica il tipo di file system
(FAT, FAT32, UDF o NTFS).
/V:etichetta Specifica l'etichetta di volume.
/Q Esegue una formattazione rapida.
/C Solo NTFS: L'impostazione predefinita prevede che i
file creati sul nuovo volume siano compressi.
/X Forza il volume a essere smontato per primo se
necessario. Tutti gli handle del volume aperti
non saranno più validi.
/A:dimensioni Sostituisce le dimensioni unità di allocazione
predefinite. Le impostazioni predefinite sono
consigliate per l'utilizzo generale. NTFS supporta
512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.
FAT supporta 512, 1024, 2048, 4096, 8192, 16K, 32K,
64K, (128K, 256K per dimensioni settore > 512 byte).
27
FAT32 supporta 512, 1024, 2048, 4096, 8192, 16K,
32K, 64K,(128K, 256K per dimensioni settore > 512
byte).
Da notare che i file system FAT e FAT32 impongono
le seguenti restrizioni sul numero di cluster su un
volume:
FAT: numero di cluster <= 65526
FAT32: 65526 < numero di cluster < 4177918
L'operazione di formattazione sarà immediatamente
interrotta se non è possibile rispettare i requisiti
indicati utilizzando le dimensioni cluster
specificate.
La compressione NTFS non è supportata per dimensioni
di unità allocazione superiori a 4096.
/F:dimensioni Specifica le dimensioni del disco floppy da
formattare (1,44)
/T:tracce Specifica il numero di tracce per faccia del disco.
/N:settori Specifica il numero di settori per traccia.
FTYPE
Visualizza o modifica i tipi di file utilizzati nelle associazioni
delle estensioni di file
FTYPE [TipoFile[=[apreStringaComando]]]
TipoFile Specifica il tipo di file da esaminare o modificare
apreStringaComando Specifica il comando di apertura da utilizzare
all'avvio dei file di questo tipo.
Digitare FTYPE senza parametri per visualizzare i tipi di file
correnti che hanno stringhe di comando di apertura definite. FTYPE
viene richiamato con un tipo di file e visualizza la stringa di
comando di apertura corrente per quel file. Non specificando opzioni
per la stringa di comando di apertura, il comando FTYPE eliminerà la
stringa per il tipo di file in oggetto. All'interno di una stringa di
comando di apertura %0 o %1 sono sostituiti con il nome del file
avviato attraverso l'associazione. %* riceve tutti i parametri e %2
riceve il primo parametro, %3 il secondo, ecc. %~n riceve tutti i
parametri rimanenti che cominciano con il parametro n, dove n è
compreso tra 2 e 9. Per esempio:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
consentirebbe di richiamare uno script Perl come segue:
script.pl 1 2 3
28
Se si desidera non dover digitare il tipo di estensione, effettuare le
seguenti operazioni:
impostare PATHEXT=.pl;%PATHEXT%
e lo script potrebbe essere richiamato nel modo seguente:
script 1 2 3
Dirige cmd.exe ad una riga etichettata in un programma batch.
GOTO etichetta
etichetta Specifica una stringa usata nel programma batch come
etichetta.
Le etichette devono cominciare con due punti e terminare con ritorno a
capo.
Se le estensioni ai comandi sono abilitate, GOTO cambia come segue:
il comando GOTO ora accetta una etichetta di destinazione di :EOF che
trasferisce il controllo alla fine del file batch di script corrente.
Si tratta di un modo semplice per uscire da un file batch di script
senza definire un'etichetta. Digitare CALL /? per una descrizione
delle estensioni del comando CALL che rendono utile questa
funzionalità.
GRAFTABL
Abilita la visualizzazione di un set di caratteri estesi in modalità
grafica.
GRAFTABL [xxx]
GRAFTABL /STATUS
xxx Specifica tabella codici.
/STATUS Mostra la tabella codici selezionata per l'utilizzo con
GRAFTABL.
HELP
Fornisce la Guida per i comandi di Windows XP.
HELP [comando]
comando - visualizza informazioni di guida per il comando.
IF
29
Esegue un'elaborazione condizionale in programmi batch.
IF [NOT] ERRORLEVEL numero comando
IF [NOT] stringa1==stringa2 comando
IF [NOT] EXIST nomefile comando
NOT Specifica che Windows XP dovrebbe eseguire
il comando solo se la condizione è falsa.
ERRORLEVEL numero Specifica una condizione vera se l'ultimo
programma
eseguito ha restituito un codice di uscita
uguale o
maggiore del numero specificato.
stringa1==stringa2 Specifica una condizione vera se le stringhe di
testo
specificate corrispondono.
EXIST nomefile Specifica una condizione vera se il nomefile
specificato
esiste.
comando Specifica il comando da eseguire se la condizione
è
soddisfatta. Il comando può essere seguito dal
comando
ELSE che eseguirà il comando dopo la parola chiave
ELSE
se la condizione specificata è FALSE
La clausola ELSE deve essere indicata nella stessa riga del comando
dopo IF. Per esempio:
IF EXIST nomefile. (
del nomefile.
) ELSE (
echo nomefile. mancante.
)
La situazione seguente NON funziona perché il comando del deve essere
terminato
con una nuova riga:
IF EXIST nomefile. del nomefile. ELSE echo nomefile. mancante
Neanche in questo caso funziona. Il comando ELSE deve essere sulla
stessa riga
della fine del comando IF:
IF EXIST nomefile. del nomefile.
ELSE echo nomefile. mancante
30
Questa situazione funziona se si desidera tutto su una riga:
IF EXIST nomefile. (del nomefile.) ELSE echo nomefile. mancante
Se le estensioni ai comandi sono abilitate IF cambia come segue:
IF [/I] stringa1 operat. compar. stringa2 comando
IF CMDEXTVERSION numero comando
IF DEFINED variabile comando
dove operat. compar. può essere uno di:
EQU - uguale
NEQ - non uguale
LSS - meno di
LEQ - meno di o uguale
GTR - maggiore di
GEQ - maggiore di o uguale
e l'opzione /I, se specificata, indica di non distinguere tra
maiuscole e minuscole. L'opzione /I può essere usata anche nella
forma stringa1==stringa2 di IF. Questi confronti sono generici, in
quanto sia stringa1 sia stringa2 sono formate da cifre numeriche, poi
le stringhe sono convertite in numeri e viene eseguito un confronto
numerico.
CMDEXTVERSION condizionale opera come ERRORLEVEL, tranne che
il confronto avviene rispetto a un numero di versione interna
associato alle estensioni di comando. La prima versione è 1 e sarà
incrementata di uno quando sono aggiunte migliorie significative alle
estansioni ai comandi.
CMDEXTVERSION condizionale non è mai vera quando le estensioni ai
comandi sono disabilitate.
IDEFINED condizionale funziona come EXISTS se non che prende una
variabile di ambiente e restituisce come vero se la variabile
è definita.
%ERRORLEVEL% espande in una rappresentazione di stringa del
corrente valore di ERRORLEVEL, pósto che non sia già
presente una variabile di ambiente con nome ERRORLEVEL, nel cui caso
si
ottiene il valore di quest'ultima. Dopo l'esecuzione di un programma,
ecco come
viene usato ERRORLEVEL:
goto answer%ERRORLEVEL%
:answer0
echo Program ha restituito codice 0
:answer1
echo Program ha restituito codice 1
Si possono anche utilizzare i confronti numerici precedenti:
31
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% espande alla riga di comando di partenza passata a
CMD.EXE prima di elaborare CMD.EXE, a condizione che non sia
già presente una variabile con nome CMDCMDLINE, nel qual caso
si ottiene il valore di questa.
%CMDEXTVERSION% espande in una rappresentazione di stringa del
valore corrente di CMDEXTVERSION, pósto che non sia già
presente una variabile di ambiente con nome CMDEXTVERSION, nel qual
caso
si ottiene il valore di questa.
LABEL
Crea, cambia o elimina l'etichetta di volume di un disco.
LABEL [unità:][etichetta]
LABEL [/MP] [volume] [etichetta]
unità: Specifica la lettera dell'unità.
etichetta Specifica l'etichetta del volume.
/MP Specifica che il volume deve essere considerato
come punto di montaggio o nome volume.
volume Specifica la lettera di unità (seguita da due
punti), punto di montaggio o nome volume. Se viene
specificato il nome volume, l'opzione /MP non è
necessaria.
MKDIR | MD
Crea una directory.
MKDIR [unità:]percorso
MD [unità:]percorso
Se le estensioni ai comandi sono abilitate, MKDIR cambia come segue:
MKDIR crea le directory intermedie nel percorso, se necessario.
Per esempio, ipotizzando che \a non esiste, allora:
mkdir \a\b\c\d
è analogo a:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
32
chdir c
mkdir d
che rappresenta ciò che si deve digitare con le estensioni
disabilitate.
--------------- CONTROLLA ----------------
Crea una directory.
MKDIR [unità:]percorso
MD [unità:]percorso
Se le estensioni ai comandi sono abilitate, MKDIR cambia come segue:
MKDIR crea le directory intermedie nel percorso, se necessario.
Per esempio, ipotizzando che \a non esiste, allora:
mkdir \a\b\c\d
è analogo a:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
che rappresenta ciò che si deve digitare con le estensioni
disabilitate.
Configura le periferiche di sistema.
Porta seriale: MODE COMm[:] [BAUD=b] [PARITA=p] [DATI=d]
[STOP=s]
33
[to=on|off] [xon=on|off]
[odsr=on|off]
[octs=on|off] [dtr=on|off|hs]
[rts=on|off|hs|tg] [idsr=on|off]
Stato della periferica: MODE [periferica] [/STATUS]
Reindirizzamento stampa: MODE LPTn[:]=COMm[:]
Selezione tabella codici: MODE CON[:] CP SELECT=yyy
Stato della tabella codici: MODE CON[:] CP [/STATUS]
Modalità di visualizzazione: MODE CON[:] [COLS=c] [LINES=n]
Impostazioni tastiera: MODE CON[:] [RATE=r DELAY=d]
MORE
Visualizza l'output una schermata alla volta.
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [unità:][percorso]nomefile
nome comando | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [file]
[unità:][percorso]nomefile Specifica un file da visualizzare una
schermata alla volta.
nome comando Specifica un comando il cui output
sar… visualizzato.
/E Attiva caratteristiche avanzate
/C Cancella lo schermo prima di visualizzare la pagina
/P Espande i caratteri di alimentazione modulo continuo
/S Converte pi— righe bianche in una singola riga
/Tn Espande la tabulazione a n spazi (predefinito 8)
Le opzioni possono essere presenti nelle variabili
di ambiente MORE.
+n Comincia a visualizzare il primo file alla riga n
file Elenco di file da visualizzare. I file nell'elenco
sono separati da spazi.
Se le caratteristiche avanzate sono attivate, i seguenti comandi
sono validi al prompt -- More -- :
P n Visualizza le n righe successive
S n Salta le n righe successive
34
F Visualizza il file successivo
Q Esce
= Mostra il numero di riga
? Mostra la riga di Guida
<spazio> Visualizza la pagina successiva
<invio> Visualizza la riga successiva
MOVE
Sposta file e rinomina file e directory.
Per spostare uno o più file:
MOVE [/Y | /-Y] [unità:][percorso]nomefile1[,...] destinazione
Per rinominare una directory:
MOVE [/Y | /-Y] [unità:][percorso]nomedir1 nomedir2
[unità:][percorso]nomefile1 Specifica la posizione e il nome del o
dei file
da spostare.
destinazione Specifica la nuova posizione del file. La
destinazione
può essere una lettera di unità e due punti,
un
nome di directory o una combinazione. Se si
sposta
solo un file, è possibile includere un nome
file se
si desidera rinominare il file mentre lo si
sposta.
[unità:][percorso]nomedir1 Specifica la directory da rinominare.
nomedir2 Specifica il nuovo nome della directory.
/Y Elimina la richiesta della conferma per
sovrascrivere un file di destinazione
esistente.
/-Y Richiesta della conferma per sovrascrivere
un file di destinazione esistente.
L'opzione /Y può essere presente nella variabile di ambiente COPYCMD,
ma può essere evitata con /-Y nella riga di comando. L'impostazione
predefinita
è di chiedere conferma per le sovrascritture a meno che il comando
MOVE non sia eseguito dall'interno di
uno script batch.
PATH
Visualizza o imposta il percorso di ricerca per i file eseguibili.
PATH [[unità:]percorso[;...][;%PATH%]
35
PATH ;
Digitare PATH ; per cancellare tutte le impostazioni del percorso di
ricerca e indicare a cmd.exe di cercare solo nella directory corrente.
Digitare PATH senza parametri per visualizzare il percorso di ricerca
corrente. Specificando %PATH% nella nuova impostazione, il percorso
esistente viene aggiunto alla nuova impostazione.
PAUSE
Interrompe l'elaborazione di un programma batch e visualizza il
messaggio
Premere un tasto per continuare...
POPD
Passa alla directory memorizzata con il comando PUSHD.
POPD
Se le estensioni ai comandi sono abilitate, il comando POPD eliminerà
qualsiasi lettera di unità temporanea creata da PUSHD quando si
applica POPD all'unità dello stack della directory.
Stampa un file di testo.
PRINT [/D:periferica] [[unità:][percorso]nomefile[...]]
/D:periferica Specifica una periferica di stampa.
PROMPT
Cambia il Prompt dei comandi di cmd.exe.
PROMPT [testo]
testo Specifica un nuovo Prompt dei comandi.
Il prompt è composto da caratteri normali e dai seguenti codici
speciali:
$A & (e commerciale)
$B | (pipe)
36
$C ( (parentesi sinistra)
$D Data corrente
$E Codice escape (codice ASCII 27)
$F ) (parentesi destra)
$G > (simbolo maggiore di)
$H Backspace (cancella carattere precedente)
$L < (simbolo minore di)
$N Unità corrente
$P Unità corrente e percorso
$Q = (simbolo uguaglianza)
$S (spazio)
$T Ora corrente
$V Numero della versione di Windows XP
$_ Ritorno a capo e avanzamento riga
$$ $ (simbolo dollaro)
Se le estensioni ai comandi sono abilitate il comando PROMPT supporta
i seguenti caratteri aggiuntivi per la formattazione:
$+ zero o più caratteri "+" a seconda della profondità dello
stack delle directory di PUSHD, un carattere per ogni
livello nello stack.
$M Visualizza il nome remoto associato alla lettera di unità
corrente o una stringa vuota se l'unità corrente non è
un'unità di rete.
PUSHD
Memorizza la directory corrente da utilizzare con il comando POPD, poi
passa alla directory specificata.
PUSHD [percorso | ..]
percorso Specifica la directory da utilizzare come directory
corrente.
Se le estensioni ai comandi sono abilitate, il comando PUSHD accetta i
percorsi di rete oltre ai consueti lettere e percorsi di unità.
Se viene specificato un percorso di rete, PUSHD provvederà a creare
una lettera di unità temporanea che indichi la specifica risorsa di
rete quindi cambierà l'unità e la directory correnti, utilizzando la
lettera di unità appena definita. Le lettere di unità temporanee sono
allocate da Z: in giù, utilizzando la prima lettera di unità
inutilizzata.
37
RMDIR | RD
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.
RECOVER
Recupera le informazioni leggibili da un disco danneggiato o
difettoso.
RECOVER [unità:][percorso]nomefile
Consultare la Guida comandi nella Guida di Windows XP
prima di usare il comando RECOVER.
Registra dei commenti (note) in un file batch o in CONFIG.SYS.
REM [commento]
RENAME | REN
Rinomina uno o più file.
RENAME [unità:][percorso]nomefile1 nomefile2.
REN [unità:][percorso]nomefile1 nomefile2.
Impossibile specificare una nuova unità o percorso per il file di
destinazione.
38
REPLACE
Sostituisce file.
REPLACE [unità1:][percorso1]nomefile [unità2:][percorso2] [/A] [/P]
[/R] [/W]
REPLACE [unità1:][percorso1]nomefile [unità2:][percorso2] [/P] [/R]
[/S] [/W] [/U]
[unità1:][percorso1]nomefile Specifica il o i file di origine.
[unità2:][percorso2] Specifica la directory in cui i file
devono
essere sostituiti.
/A Aggiunge nuovi file alla directory
destinazione.
Non si può utilizzare con le opzioni /S
o /U.
/P Chiede conferma prima di sostituire un
file o
aggiungere un file di origine.
/R Sostituisce sia i file di sola lettura
che i
file non protetti.
/S Sostituisce i file di tutte le
sottodirectory
nella directory di destinazione. Non si
può
utilizzare con l'opzione /A.
/W Attende l'inserimento di un disco prima
di
continuare.
/U Sostituisce (aggiorna) solo i file più
vecchi
del file di origine. Non si può
utilizzare con
l'opzione /A.
RMDIR | RD
Rimuove (elimina) una directory.
RMDIR [/S] [/Q] [unità:]percorso
RD [/S] [/Q] [unità:]percorso
39
/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.
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
40
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
41
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.
42
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.
43
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 terminato 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.
SHIFT
Cambia la posizione dei parametri sostituibili in un file batch.
SHIFT [/n]
44
Se le estensioni ai comandi sono abilitate, il comando SHIFT supporta
l'opzione /n che comunica al comando di iniziare l'azione di shift
all'argomento "alla n", dove n può essere tra zero e otto. Per
esempio:
SHIFT /2
esegue lo shift di %3 a %2, %4 a %3, ecc., lasciando %0 e %1
invariati.
SORT
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
[[unità1:][percorso1]nomefile1] [/T [unità2:][percorso2]]
[/O [unità3:][percorso3]nomefile3]
/+n Specifica il numero di carattere, n, per
iniziare ciascun confronto. /+3 indica
che
ciascun confronto deve iniziare al terzo
carattere di ciascuna riga. Le righe
con meno di
n caratteri collate prima delle altre
righe.
Per impostazione predefinita, il
confronto inizia
con il primo carattere di ciascuna riga.
/L[OCALE] locale Sovrascrive l'impostazione
internazionale
predefinita del sistema con
l'impostazione
specificata. L'impostazione
internazionale ""C""
è la sequenza di ordinamento più veloce
ed è
45
attualmente l'unica alternativa.
L'ordinamento
tiene sempre in considerazione la
differenza tra
maiuscole e minuscole.
/M[EMORY] kilobytes Specifica la quantità di memoria da
utilizzare per
l'ordinamento, in kilobyte. La
dimensione della
memoria è sempre limitata ad un minino
di 160 KB.
Se la dimensione della memoria è
specificata
per l'ordinamento verrà utilizzata
l'esatta
quantità specificata, a prescindere
dalla quantità
di memoria disponibile.
Le migliori prestazioni vengono in
genere ottenute
non specificando una dimensione per la
memoria.
Per impostazione predefinita,
l'ordinamento verrà
eseguito in una singola operazione
(senza file
temporaneo) se ciò è adeguato alla
dimensione
massima della memoria predefinita; in
caso
contrario, verrà eseguito in due
operazioni (con
46
i dati parzialmente ordinati memorizzati
in un
file temporaneo) in modo che le quantità
di
memoria utilizzate per l'ordinamento e
la fusione
siano uguali. La quantità massima di
memoria
predefinita è il 90% della memoria
disponibile
se sia l'input che l'output sono file e
del 45%
della memoria negli altri casi.
/REC[ORD_MAXIMUM] caratteri Specifica il numero massimo di caratteri
in un record (predefiniti 4096, massimo
65535).
/R[EVERSE] Inverte l'ordinamento,
ordina da Z a A, quindi da 9 a 0.
[unità1:][percorso1]nomefile1 Specifica il file da ordinare. Se
non è
specificato, viene ordinato l'input
standard.
Specificare il file di input è più
veloce rispetto a
reindirizzare lo stesso file come input
standard.
/T[EMPORARY]
[unità2:][percorso2] Specifica il percorso della
directory che contiene
i risultati dell'ordinamento qualora i
dati
non possano risiedere in memoria
principale. L'impostazione predefinita è
47
di utilizzare la directory di sistema
temporanea.
/O[UTPUT]
[unità3:][percorso3]nomefile3 Specifica il file dove conservare
l'input
ordinato. Se non è specificato, i dati
sono
scritti nell'output standard.
Specificare
il file di output è più rapido rispetto
a reindirizzare
l'output standard nello stesso file.
START
Apre una finestra a parte per eseguire un programma o un comando
specifico.
START ["titolo"] [/percorso] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL |
/BELOWNORMAL]
[/WAIT] [/B] [comando/programma]
[parametri]
"titolo" Testo da visualizzare nella barra del titolo della
finestra.
percorso Directory di avvio
B Avvia l'applicazione senza creare una nuova finestra.
L'applicazione ignora il controllo ^C. Finché
l'applicazione
non riattiverà autonomamente ^C, ^INTERR sarà l'unico
modo per interrompere l'applicazione.
I Il nuovo ambiente sarà l'ambiente originale trasmesso a
cmd.exe e non l'ambiente corrente.
MIN Avvia la finestra ridotta a icona.
MAX Avvia la finestra ingrandita.
SEPARATE Avvia programmi Windows 16 bit in uno spazio di memoria
separato.
48
SHARED Avvia programmi Windows 16 bit in uno spazio di memoria
condivisa.
LOW Avvia l'applicazione nella classe di priorità IDLE.
NORMAL Avvia l'applicazione nella classe di priorità NORMAL.
HIGH Avvia l'applicazione nella classe di priorità HIGH.
REALTIME Avvia l'applicazione nella classe di priorità REALTIME.
ABOVENORMAL Avvia l'applicazione nella classe di priorità
ABOVENORMAL
BELOWNORMAL Avvia l'applicazione nella classe di priorità
BELOWNORMAL
WAIT Avvia l'applicazione e ne attende la terminazione.
comando/programma
Se è un comando interno cmd o un file batch, il
processore
dei comandi verrà eseguito con l'opzione /K per cmd.exe.
La finestra non sarà quindi chiusa dopo l'esecuzione del
comando.
Se non è un comando interno cmd o un file batch, si
tratta
di un programma che sarà eseguito come applicazione in
una
finestra o come applicazione di console.
parametri Questi sono i parametri passati al comando/programma.
Se le estensioni ai comandi sono abilitate, l'esecuzione di comandi
dall'esterno
attraverso la riga di comando o il comando START è cambiata come
segue:
i file non eseguibili possono essere richiamati grazie alla
associazione
digitando il nome del file come un normale comando. Esempio:
WORD.DOC
avvierà l'applicazione associata con l'estensione di file .DOC.
Vedere i comandi ASSOC e FTYPE per informazioni su come creare le
associazioni dall'interno di uno script di comandi.
Se si esegue un'applicazione con GUI a 32 bit, CMD.EXE
non attende la terminazione dell'applicazione prima di ritornare
al Prompt
dei comandi. Questo non accade se si sta eseguendo da uno script
di comandi.
Se nella riga di comando la prima parola è CMD, senza un'estensione o
un percorso, CMD è sostituito con il valore della variabile
COMSPEC,
per evitare di utilizzare CMD.EXE presente nella
directory corrente .
49
Se nella riga di comando la prima parola NON contiene un'estensione,
CMD.EXE utilizza il valore della variabile d'ambiente PATHEXT
per determinare quali estensioni cercare e in quale ordine.
Il valore predefinito per la variabile PATHTEXT è:
.COM;.EXE;.BAT;.CMD
La sintassi è la stessa della variabile PATH, il carattere
utilizzato per separare i vari elementi è il punto e virgola.
Durante la ricerca di un eseguibile, se non c'è alcun file
corrispondente
con le estensioni previste, viene controllato se il nome, senza
nessuna
estensione, corrisponde a quello di una directory; se è vero, il
comando START
avvia Esplora risorse a partire dal percorso individuato.
Se eseguito dalla riga di comando, è equivalente all'esecuzione di CD
/D
da quel percorso.
SUBST
Associa un percorso ad una lettera di unità.
SUBST [unità1: [unità2:]percorso]
SUBST unità1: /D
unità1: Specifica un'unità virtuale a cui si desidera
assegnare
un percorso.
[unità2:]percorso Specifica un'unità fisica e un percorso che si
desidera
assegnare ad un'unità virtuale.
/D Elimina un'unità (virtuale) sostituta.
Digitare SUBST senza parametri per visualizzare l'elenco delle unità
virtuali
correnti.
TIME
Visualizza o imposta l'ora di sistema.
TIME [/T | ora]
50
Digitare TIME senza parametri per visualizzare l'ora corrente e
reimpostarla.
Premere INVIO per mantenere la stessa ora.
Se le estensioni ai comandi sono abilitate, il comando TIME supporta
l'opzione /T che comunica al comando di mostrare
l'ora corrente, senza richiedere una nuova ora.
TITLE
Imposta il titolo della finestra per la finestra del Prompt di
comandi.
TITLE [stringa]
stringa Specifica il titolo della finestra del Prompt di
comandi.
TREE
Visualizza graficamente la struttura delle directory di un'unità o
percorso.
TREE [unità:][percorso] [/F] [/A]
/F Visualizza i nomi dei file in ogni cartella.
/A Usa caratteri ASCII invece di caratteri estesi.
TYPE
Visualizza il contenuto di uno o più file di testo.
TYPE [unità:][percorso]nomefile
VER
Visualizza la versione di Windows XP.
VER
VERIFY
Indica a cmd.exe se verificare o meno la corretta scrittura dei file
su disco.
51
VERIFY [ON | OFF]
Digitare VERIFY senza parametri per visualizzare l'impostazione
corrente.
VOL
Visualizza l'etichetta di volume e il numero seriale del disco, se
presenti.
VOL [unità:]
XCOPY
Copia i file e le strutture di directory.
XCOPY source [destinazione] [/A | /M] [/D[:data]] [/P] [/S [/E]] [/V]
[/W]
[/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T]
[/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]
source Specifica i file da copiare.
destinazione Specifica posizione e/o nome dei nuovi file.
/A Copia solo file con attributo di archivio,
non cambia l'attributo.
/M Copia solo file con attributo di archivio,
disattiva l'attributo.
/D:m-d-y Copia i file modificati a partire dalla data
specificata.
Se non sono indicate date, copia solo i file con
ora di origine più recente dell'ora di destinazione.
/EXCLUDE:file1[+file2][+file3]...
Specifica un elenco di file contenenti stringhe. Ogni
stringa
deve essere posizionata in una riga differente nei
file. Quando
una delle stringhe corrisponde a una qualsiasi parte
del
percorso assoluto del file da copiare, il file sarà
escluso
dalla copia. Per esempio, specificando una stringa
come
\obj\ o .obj saranno esclusi tutti i file al di sotto
della
directory obj o tutti i file con estensione .obj.
/P Chiede conferma prima di creare ogni file di
destinazione.
52
/S Copia directory e sottodirectory tranne quelle vuote.
/E Copia directorye sottodirectory, comprese quelle vuote.
Analogo a /S /E. Può essere utilizzata per modificare
/T.
/V Verifica ogni nuovo file.
/W Chiede di premere un tasto prima di copiare.
/C Continua a copiare anche in caso di errori.
/I Se la destinazione non esiste e la copia riguarda più
file,
presuppone che la destinazione sia una directory.
/Q Non visualizza i nomi dei file durante la copia.
/F Visualizza i nomi dei file di origine e destinazione
durante la
copia.
/L Visualizza i file che sarebbero copiati.
/H Copia anche i file nascosti e di sistema.
/R Sovrascrive i file di sola lettura.
/T Crea la struttura di directory, ma non copia i file.
Non include
le directory o sottodirectory vuote. /T /E include
directory
e sottodirectory vuote.
/U Copia solo i file che già esistono nella destinazione.
/K Copia gli attributi. Il normale Xcopy reimposta gli
attributi di
sola lettura.
/N Copia utilizzando i nomi brevi creati.
/O Copia le informazioni di proprietà e ACL.
/X Copia le impostazioni di controllo degli eventi dei
file
(implica /O).
/Y Elimina la richiesta di conferma per sovrascrivere un
file
di destinazione esistente.
/-Y Specifica di chiedere conferma prima di sovrascrivere
un file
di destinazione esistente.
/Z Copia file da rete in modalità riavviabile.
L'opzione /Y può essere impostata a priori nella variabile d'ambiente
COPYCMD.
In tal caso è comunque possibile annullare tale opzione specificando
/-Y alla
riga di comando.
Controlla memsta –a e ping