Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Avvia una nuova istanza dell'interprete dei comandi cmd.exe. Se utilizzato senza parametri, cmd
visualizza le informazioni sulla versione e sul copyright del sistema operativo.
Annotazioni
Gli utenti che cercano funzionalità più avanzate sono invitati a esplorare PowerShell per migliorare la creazione di script e l'automazione.
Sintassi
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parametri
Parametro | Descrizione |
---|---|
/c | Esegue il comando specificato da <string> e quindi esce dal processore di comandi. |
/Okay | Esegue il comando specificato da <string> e mantiene in esecuzione il processore di comandi. |
/s | Se usato con /c o /k , attiva regole speciali non di analisi che ristriscono le virgolette () e le virgolette (" ) ma <string> lascia invariato il resto del comando. |
/q | Disattiva l'eco. |
/d | Disabilita l'esecuzione dei comandi di esecuzione automatica. |
/un | Formatta l'output dei comandi come American National Standards Institute (ANSI). |
/u | Formatta l'output del comando come Unicode. |
/t:{<b><f> | <f> } |
Imposta i colori di sfondo (b) e di primo piano (f). |
/e:on | Abilita le estensioni dei comandi. |
/e:off | Disabilita le estensioni dei comandi. |
/f:on | Abilita il completamento dei nomi di file e directory. |
/f:off | Disabilita il completamento dei nomi di file e directory. |
/v:on | Abilita l'espansione ritardata della variabile di ambiente. |
/v:off | Disabilita l'espansione ritardata della variabile di ambiente. |
<string> |
Specifica il comando da eseguire. |
/? | Visualizza la Guida al prompt dei comandi. |
Nella tabella seguente sono elencate le cifre esadecimali valide che è possibile usare come valori per <b>
e <f>
:
Valore | Colore |
---|---|
0 | Nero |
1 | Blu |
2 | Verde |
3 | Acqua |
4 | Rosso |
5 | Porpora |
6 | Giallo |
7 | Bianco |
8 | Grigio |
9 | Azzurro |
un | Verde chiaro |
b | Azzurro |
c | Rosso chiaro |
d | Viola chiaro |
e | Giallo chiaro |
f | Bianco brillante |
Osservazioni:
Per reindirizzare l'output del comando all'input di un altro comando, usare l'operatore pipe (
|
). Per esempio:<command1> | <command2>
L'operatore double pipe (
||
) viene usato per eseguire il comando successivo solo se il comando precedente ha esito negativo. Nello scenario specificato,command2
viene eseguito solo secommand1
ha esito negativo. Per esempio:<command1> || <command2>
Per reindirizzare l'output del comando a un file, usare il carattere parentesi
>
angolare maggiore di . Per esempio:<command1> > <file1.txt>
Per raggruppare o annidare più comandi insieme, usare
&
. Per esempio:<command1> & <command2>
Per usare più comandi per
<string>
, separarli in base al separatore&&
di comando . Per esempio:<command1> && <command2> && <command3>
Annotazioni
Quando si usa
&&
, il comando seguente&&
viene eseguito solo se il comando precedente viene completato correttamente.Cmd
esegue il primo comando e procede alla successiva solo se il comando precedente ha avuto esito positivo. In caso contrario, se il comando precedente ha esito negativo, i comandi successivi non verranno eseguiti.Le parentesi e commerciale
&
, pipe|
e( )
sono caratteri speciali che devono essere preceduti dal carattere^
di escape o dalle virgolette quando vengono passate come argomenti.Se un comando completa correttamente un'operazione, restituisce un codice di uscita pari a zero (0) o nessun codice di uscita.
Se il percorso della directory, i file o le informazioni fornite contengono spazi, è necessario usare le virgolette doppie (
" "
) intorno al testo, ad esempio"Computer Name"
. Per esempio:mkdir Test && mkdir "Test 2" && move "Test 2" Test
È necessario usare le virgolette intorno ai caratteri speciali seguenti: & <> [ ] | { } ^ = ; ! ' + , ' ~ [spazio vuoto].
Se si specifica
/c
o/k
, icmd
processi, il resto di<string>
e le virgolette vengono mantenute solo se vengono soddisfatte tutte le condizioni seguenti:- Non si usa
/s
anche . - Si usa esattamente un set di virgolette.
- Non si usano caratteri speciali tra virgolette, ad esempio : & <> ( ) @ ^ |.
- Si usano uno o più spazi vuoti all'interno delle virgolette.
- Le
<string>
virgolette all'interno sono il nome di un file eseguibile.
Se le condizioni precedenti non vengono soddisfatte,
<string>
viene elaborata esaminando il primo carattere per verificare se si tratta di una virgoletta di apertura. Se il primo carattere è una virgoletta aperta, viene rimosso insieme alle virgolette di chiusura. Qualsiasi testo che segue le virgolette di chiusura viene mantenuto.- Non si usa
Se non si specifica
/d
,cmd
cerca le seguenti sottochiavi del Registro di sistema:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ
Se sono presenti una o entrambe le sottochiavi del Registro di sistema, vengono eseguite prima di tutte le altre variabili.
È possibile disabilitare le estensioni dei comandi per un determinato processo usando
/e:off
. È possibile abilitare o disabilitare le estensioni per tutte lecmd
opzioni della riga di comando in un computer o in una sessione utente impostando i valori di REG_DWORD seguenti:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD
Impostare il valore REG_DWORD su 0×1 (abilitato) o 0×0 (disabilitato) nel Registro di sistema usando Regedit.exe. Le impostazioni specificate dall'utente hanno la precedenza sulle impostazioni del computer e le opzioni della riga di comando hanno la precedenza sulle impostazioni del Registro di sistema.
Attenzione
È possibile che eventuali modifiche non corrette del Registro di sistema danneggino gravemente il sistema. Prima di apportare modifiche al Registro di sistema, si consiglia di effettuare il backup di tutti i dati importanti presenti sul computer.
Quando si abilitano le estensioni dei comandi, vengono interessati i comandi seguenti:
assoc
call
-
chdir
(cd
) color
-
del
(erase
) endlocal
for
ftype
goto
if
-
mkdir
(md
) popd
prompt
pushd
set
setlocal
shift
-
start
(include anche modifiche ai processi di comando esterni)
Se si abilita l'espansione ritardata della variabile di ambiente, è possibile usare il carattere punto esclamativo (
!
) per sostituire il valore di una variabile di ambiente in fase di esecuzione.Il completamento dei nomi di file e directory non è abilitato per impostazione predefinita. È possibile abilitare o disabilitare il completamento del nome file per un particolare processo del
cmd
comando con/f:{on | off}
.È possibile abilitare o disabilitare il completamento dei nomi di file e directory per tutti i processi del
cmd
comando in un computer o per una sessione di accesso utente impostando i valori di REG_DWORD seguenti:HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD
Per impostare il valore REG_DWORD , eseguire Regedit.exe e usare il valore esadecimale di un carattere di controllo per una determinata funzione, ad esempio 0×9 è TAB e 0×08 è BACKSPACE. Usare il valore [0×20] per lo spazio vuoto, perché non è un carattere di controllo valido. Le impostazioni specificate dall'utente hanno la precedenza sulle impostazioni del computer e le opzioni della riga di comando hanno la precedenza sulle impostazioni del Registro di sistema.
Attenzione
È possibile che eventuali modifiche non corrette del Registro di sistema danneggino gravemente il sistema. Prima di apportare modifiche al Registro di sistema, si consiglia di effettuare il backup di tutti i dati importanti presenti sul computer.
Se si abilita il completamento dei nomi di file e directory usando
/f:on
, usare CTRL+D per il completamento del nome della directory e CTRL+F per il completamento del nome file. L'unica differenza tra le combinazioni di tasti CTRL+D e CTRL+F è che CTRL+D corrisponde solo ai nomi di directory e CTRL+F corrisponde ai nomi di file e directory. Se si usa il completamento dei nomi di file e directory nei comandicd
di directory predefiniti ,md
ord
, si presuppone il completamento della directory.Premendo CTRL+D o CTRL+F , il file e il completamento del nome della directory vengono elaborati. Queste funzioni di combinazione di tasti aggiungono un carattere jolly a
<string>
se non è presente, compila un elenco di percorsi corrispondenti e quindi visualizza il primo percorso corrispondente. Se nessuno dei percorsi corrisponde, il file e la funzione di completamento del nome della directory vengono visualizzati e non cambiano la visualizzazione.- Per spostarsi nell'elenco dei percorsi corrispondenti, premere ripetutamente CTRL+D o CTRL+F .
- Per spostarsi all'indietro nell'elenco, premere il tasto MAIUSC e CTRL+D o CTRL+F contemporaneamente.
- Per eliminare l'elenco salvato di percorsi corrispondenti e generare un nuovo elenco, modificare
<string>
e premere CTRL+D o CTRL+F. - Se si passa da CTRL+D a CTRL+F, l'elenco salvato di percorsi corrispondenti viene rimosso e viene generato un nuovo elenco.
Il completamento del nome di file e directory elabora correttamente i nomi di file contenenti spazi vuoti o caratteri speciali se si inserisce virgolette intorno al percorso corrispondente.
Se si elabora il completamento del nome di file e directory dall'interno
<string>
di , nel punto in<string>
cui è stato elaborato il completamento, qualsiasi parte del percorso a destra del cursore viene rimossa.
Uso delle variabili di ambiente
L'ambiente cmd
della shell dei comandi è definito da variabili che determinano il comportamento della shell dei comandi e del sistema operativo. È possibile definire il comportamento dell'ambiente della shell dei comandi o dell'intero ambiente del sistema operativo usando due tipi di variabili di ambiente, sistema e locale. Le variabili di ambiente di sistema definiscono il comportamento dell'ambiente del sistema operativo globale. Le variabili di ambiente locali definiscono il comportamento dell'ambiente dell'istanza corrente di cmd
.
Solo gli utenti con privilegi amministrativi possono modificare le variabili di sistema. Queste variabili vengono usate più comunemente negli script di accesso. Le variabili di ambiente locali sono disponibili solo quando l'utente per cui sono stati creati è connesso al computer. Le variabili locali impostate nell'hive HKEY_CURRENT_USER sono valide solo per l'utente corrente, ma definiscono il comportamento dell'ambiente del sistema operativo globale.
L'elenco seguente descrive i vari tipi di variabili in ordine decrescente di precedenza:
- Variabili di sistema predefinite.
- Variabili di sistema trovate nell'hive HKEY_LOCAL_MACHINE .
- Variabili locali trovate nell'hive HKEY_CURRENT_USER .
- Tutte le variabili di ambiente e i percorsi impostati nel file Autoexec.bat.
- Tutte le variabili di ambiente e i percorsi impostati in uno script di accesso (se presente).
- Variabili usate in modo interattivo in uno script o in un file batch.
Nella shell dei comandi ogni istanza di cmd
eredita l'ambiente dell'applicazione padre. È quindi possibile modificare le variabili nel nuovo cmd
ambiente senza influire sull'ambiente dell'applicazione padre.
È possibile visualizzare le variabili di ambiente nell'ambiente eseguendo uno dei comandi seguenti:
set
Get-ChildItem Env:
Impostazione delle variabili di ambiente
Per visualizzare una variabile, digitare:
set <VariableName>
Per aggiungere una variabile, digitare:
set <VariableName>=<value>
Per eliminare una variabile, digitare:
set <VariableName>=
È possibile usare la maggior parte dei caratteri come valori di variabile, incluso lo spazio vuoto. Se si usano i caratteri <speciali , , >, |, &o ^, è necessario precederli con il carattere di escape ^
le virgolette doppie. Se si usano virgolette doppie, vengono incluse come parte del valore perché tutto ciò che segue il segno di uguale viene preso come valore. Si considerino gli esempi seguenti:
Per creare il valore New&Name
della variabile , digitare:
set <VariableName>=New^&Name
Per creare il valore "New&Name"
della variabile , digitare:
set <VariableName>="New&Name"
Se si digita set <VariableName>=New&Name
(senza virgolette doppie o carat ^
) al prompt dei comandi, potrebbe essere visualizzato il messaggio di errore seguente:
"'Name' is not recognized as an internal or external command, operable program or batch file."
I nomi delle variabili non fanno distinzione tra maiuscole e minuscole. Tuttavia, set
visualizza la variabile esattamente come è stata digitata. È possibile combinare lettere maiuscole e minuscole nei nomi delle variabili per rendere il codice più leggibile, ad esempio UserName.
Annotazioni
- La dimensione massima della variabile di ambiente è di 8.192 byte.
- La dimensione totale massima per tutte le variabili di ambiente, inclusi nomi, valori e segni di uguale, è di 65.536 caratteri per un processo.
Sostituzione dei valori delle variabili di ambiente
Per sostituire i valori delle variabili nella riga di comando o negli script, racchiudere il nome della variabile nei segni di percentuale (%VariableName%). In questo modo è possibile cmd
fare riferimento al valore della variabile anziché considerarlo come testo letterale. Quando viene eseguito uno script, cmd
sostituisce le istanze della variabile con il relativo valore. Ad esempio, l'uso di %USERNAME% in uno script sostituisce automaticamente il nome utente effettivo. La sostituzione delle variabili non è ricorsiva; cmd
controlla le variabili una sola volta.