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.
Note
Gli utenti che cercano funzionalità più avanzate sono invitati a esplorare PowerShell per migliorare lo scripting e l'automazione.
Syntax
cmd [/c|/k] [/s] [/q] [/d] [/a|/u] [/t:{<b><f> | <f>}] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [<string>]
Parameters
| Parameter | Description |
|---|---|
| /c | Esegue il comando specificato da <string> e quindi esce dal processore di comandi. |
| /k | 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. |
| /a | 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>:
| Value | Color |
|---|---|
| 0 | Black |
| 1 | Blue |
| 2 | Green |
| 3 | Aqua |
| 4 | Red |
| 5 | Purple |
| 6 | Yellow |
| 7 | White |
| 8 | Gray |
| 9 | Light blue |
| a | Light green |
| b | Light aqua |
| c | Light red |
| d | Light purple |
| e | Light yellow |
| f | Bright white |
Remarks
Per reindirizzare l'output del comando all'input di un altro comando, usare l'operatore pipe (
|). For example:<command1> | <command2>L'operatore double pipe (
||) viene usato per eseguire il comando successivo solo se il comando precedente ha esito negativo. Nello scenario specificato,command2viene eseguito solo secommand1ha esito negativo. For example:<command1> || <command2>Per reindirizzare l'output del comando a un file, usare il carattere parentesi
>angolare maggiore di . For example:<command1> > <file1.txt>Per raggruppare o annidare più comandi insieme, usare
&. For example:<command1> & <command2>Per usare più comandi per
<string>, separarli in base al separatore&&di comando . For example:<command1> && <command2> && <command3>Note
Quando si usa
&&, il comando seguente&&viene eseguito solo se il comando precedente viene completato correttamente.Cmdesegue 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". For example:mkdir Test && mkdir "Test 2" && move "Test 2" TestÈ necessario usare le virgolette intorno ai caratteri speciali seguenti: & <> [ ] | { } ^ = ; ! ' + , ' ~ [spazio vuoto].
Se si specifica
/co/k, icmdprocessi, il resto di<string>e le virgolette vengono mantenute solo se vengono soddisfatte tutte le condizioni seguenti:- Non si usa
/sanche . - 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,cmdcerca 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 lecmdopzioni della riga di comando in un computer o in una sessione utente impostando i seguenti valori REG_DWORD :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 0x1 (abilitato) o 0x0 (disabilitato) nel Registro di sistema utilizzando 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.
Caution
È 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:
assoccall-
chdir(cd) color-
del(erase) endlocalforftypegotoif-
mkdir(md) popdpromptpushdsetsetlocalshift-
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
cmdcomando con/f:{on | off}.È possibile abilitare o disabilitare il
cmdcompletamento dei nomi di file e directory per tutti i processi del comando in un computer o per una sessione di accesso utente impostando i seguenti valori REG_DWORD :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 utilizzare il valore esadecimale di un carattere di controllo per una determinata funzione (ad esempio, 0x9 è TAB e 0x08 è BACKSPACE). Utilizzare il valore [0x20] per gli spazi vuoti, poiché 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.
Caution
È 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 utilizzando
/f:on, utilizzare CTRL+D per il completamento del nome di directory e CTRL+F per il completamento del nome di file. L'unica differenza tra le combinazioni di tasti CTRL+D e CTRL+F è che CTRL+D corrisponde solo ai nomi delle directory e CTRL+F corrisponde sia ai nomi dei file che a quelli delle directory. Se si usa il completamento dei nomi di file e directory nei comandicddi directory predefiniti ,mdord, si presuppone il completamento della directory.Premendo CTRL+D o CTRL+F si elabora il completamento del file e del nome della directory. 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 CTRL+D o CTRL+F ripetutamente.
- 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 e viceversa, l'elenco salvato di percorsi corrispondenti viene eliminato 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 dei nomi di file e directory dall'interno di
<string>, nel punto in<string>cui è stato elaborato il completamento, qualsiasi parte del percorso a destra del cursore viene eliminata.
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'alveare 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 utilizzano i caratteri <speciali , >, |, & o ^, è necessario precederli dal carattere ^ di escape o dalle 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&Namedella 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.
Note
- 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.