Comando cmd della riga di comando di MS-DOS e Windows

Il comando.com (CMD nelle versioni successive di Windows) è l’interprete dei comandi per MS-DOS ed è necessario per il funzionamento dei sistemi operativi Microsoft. Senza command.com, un computer con sistema operativo Microsoft non sarebbe in grado di avviarsi.
Quando si esegue Windows NT, 2000, XP, Vista, 7, 8 e 10, sono disponibili due versioni dell’interprete dei comandi, command.com e cmd.exe. Cmd offre variabili di ambiente aggiuntive rispetto a command.com; tuttavia, se stai tentando di eseguire un’utilità MS-DOS, ti consigliamo di utilizzare command.com. Per utilizzare command.com, fai clic su Start, Esegui e digita command.
Disponibilità
Command, o command.com, è l’interprete dei comandi e con le prime versioni di Windows e MS-DOS non sarebbe possibile utilizzare il computer senza questo file. Questo file è disponibile su tutte le versioni di Microsoft Windows e le versioni successive di Windows lo utilizzano per accedere alla shell MS-DOS.
- Tutte le versioni di MS-DOS
- Windows 95
- Windows 98
- Windows ME
- Windows NT
- Windows 2000
- Windows XP
CMD, o CMD.EXE, è la shell della riga di comando introdotta in Windows NT e disponibile per tutte le seguenti versioni di Microsoft Windows.
- Windows NT
- Windows 2000
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
- Windows 10
Sintassi
Sintassi “cmd” di Windows 2000, XP, Vista, 7, 8 e 10
Avvia una nuova istanza dell’interprete dei comandi di Windows 2000 o Windows XP.
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]
| /C | Esegue il comando specificato da string e quindi termina. |
| /K | Esegue il comando specificato da string ma rimane. |
| /S | Modifica il trattamento della stringa dopo /C o /K (vedi sotto). |
| /Q | Disattiva l’eco. |
| /D | Disabilita l’esecuzione dei comandi di esecuzione automatica dal registro (vedi sotto). |
| /UN | Fa in modo che l’output dei comandi interni su una pipe o su un file sia ANSI. |
| /U | Fa sì che l’output dei comandi interni in una pipe o in un file sia Unicode. |
| /T:fg | Imposta i colori di primo piano/sfondo (vedi COLOR /? per maggiori informazioni). |
| /EONE | Abilita le estensioni dei comandi (vedi sotto). |
| /E:OFF | Disabilita le estensioni dei comandi (vedi sotto). |
| /F:ON | Abilita i caratteri di completamento del nome di file e directory (vedi sotto). |
| /F:OFF | Disabilita i caratteri di completamento del nome di file e directory (vedi sotto). |
| /V:ON | Abilita l’espansione ritardata della variabile di ambiente utilizzando c come delimitatore. Ad esempio, /V:ON consentirebbe !var! per espandere la variabile var in fase di esecuzione. La sintassi var espande le variabili al momento dell’input, il che è piuttosto diverso quando si trova all’interno di un ciclo FOR. |
| /V:OFF | Disabilita l’espansione dell’ambiente ritardata. |
Nota che più comandi separati dal separatore di comando ‘&&’ sono accettati per la stringa se è racchiusa tra virgolette. Inoltre, per motivi di compatibilità, /X è uguale a /E:ON, /Y è uguale a /E:OFF e /R è uguale a /C. Qualsiasi altro interruttore viene ignorato.
Se viene specificato /C o /K, il resto della riga di comando dopo l’opzione viene elaborato come riga di comando, dove viene utilizzata la seguente logica per elaborare i caratteri di virgolette (“):
1. Se vengono soddisfatte tutte le seguenti condizioni, i caratteri di virgolette sulla riga di comando vengono mantenuti:
- Nessun interruttore /S.
- Esattamente due caratteri di citazione.
- Nessun carattere speciale tra le due virgolette, dove special è uno di: &<>()@^| caratteri.
- Sono presenti uno o più caratteri di spaziatura tra le due virgolette.
- La stringa tra le due virgolette è il nome di un file eseguibile.
2. Altrimenti, il vecchio comportamento è vedere se il primo carattere è un carattere di citazione. In tal caso, rimuovere il carattere iniziale e rimuovere l’ultimo carattere di virgoletta dalla riga di comando, preservando il testo dopo l’ultimo carattere di virgolette.
Se /D NON è stato specificato nella riga di comando, all’avvio di CMD.EXE vengono cercate le seguenti variabili di registro REG_SZ/REG_EXPAND_SZ e, se sono presenti una o entrambe, vengono eseguite per prime.
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun
o
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun
Le estensioni dei comandi sono abilitate per impostazione predefinita. È inoltre possibile disabilitare le estensioni per una particolare chiamata utilizzando l’opzione /E:OFF. È possibile abilitare o disabilitare le estensioni per tutte le chiamate di CMD.EXE impostando uno o entrambi i seguenti valori REG_DWORD su 0x1 o 0x0 nel registro utilizzando REGEDT32.EXE:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions
o
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions
L’impostazione specifica dell’utente ha la precedenza sull’impostazione della macchina. Le opzioni della riga di comando hanno la precedenza sulle impostazioni del registro.
Le estensioni dei comandi comportano modifiche o aggiunte ai seguenti comandi.
-
DEL o CANCELLA
- COLORE
-
CD o CHDIR
- MD o MKDIR
- RICHIESTA
- PUSH
- POPD
- SET
- SETLOCALE
- ENDLOCALE
- SE
- PER
- CHIAMATA
- SPOSTARE
- VAI A
-
START (include anche modifiche all’invocazione di comandi esterni).
- ASSOC
- FType
Per ottenere dettagli specifici, digita
L’espansione ritardata della variabile di ambiente NON è abilitata per impostazione predefinita. È possibile abilitare o disabilitare l’espansione ritardata della variabile di ambiente per una particolare chiamata di CMD.EXE con l’opzione /V:ON o /V:OFF. Per abilitare o disabilitare il completamento per tutte le chiamate di CMD.EXE, impostare uno o entrambi i seguenti valori REG_DWORD su 0x1 o 0x0 nel registro utilizzando REGEDT32.EXE:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorDelayedExpansion
o
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorDelayedExpansion
L’impostazione specifica dell’utente ha la precedenza sull’impostazione della macchina. Le opzioni della riga di comando hanno la precedenza sulle impostazioni del registro.
Se è abilitata l’espansione ritardata della variabile di ambiente, il carattere esclamativo può sostituire il valore di una variabile di ambiente al momento dell’esecuzione.
Il completamento del nome di file e directory NON è abilitato per impostazione predefinita. È possibile abilitare o disabilitare il completamento del nome file per una particolare chiamata di CMD.EXE con l’opzione /F:ON o /F:OFF. Per abilitare o disabilitare il completamento per tutte le chiamate di CMD.EXE su una macchina o una sessione di accesso utente, impostare uno o entrambi i seguenti valori REG_DWORD nel registro utilizzando REGEDT32.EXE:
HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorCompletionChar HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorPathCompletionChar
o
HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorCompletionChar HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorPathCompletionChar
con il valore esadecimale di un carattere di controllo da utilizzare per una particolare funzione (ad esempio, 0x4 è Ctrl+D e 0x6 è Ctrl+F). Le impostazioni specifiche dell’utente hanno la precedenza sulle impostazioni della macchina. Le opzioni della riga di comando hanno la precedenza sulle impostazioni del registro.
Se il completamento è abilitato con l’opzione /F:ON, i due caratteri di controllo utilizzati sono Ctrl+D per il completamento del nome della directory e Ctrl+F per il completamento del nome del file. Per disabilitare un particolare carattere di completamento nel registro, utilizzare il valore per lo spazio (0x20) poiché non è un carattere di controllo valido.
Il completamento viene richiamato quando si digita uno dei due caratteri di controllo. La funzione di completamento aggiunge un carattere jolly a sinistra del cursore se non è presente e crea un elenco di percorsi che corrispondono. Quindi visualizza il primo percorso corrispondente. Se nessun percorso corrisponde, emette un segnale acustico e lascia solo il display. Successivamente, premendo ripetutamente lo stesso carattere di controllo si scorrerà l’elenco dei percorsi corrispondenti. Premendo il tasto Maiusc con il carattere di controllo si sposta all’indietro l’elenco. Se si modifica la riga in qualsiasi modo e si preme nuovamente il carattere di controllo, l’elenco salvato di percorsi corrispondenti viene eliminato e ne viene generato uno nuovo. Lo stesso si verifica se si passa dal completamento del nome di file a quello di directory. La differenza tra i due caratteri di controllo è che il carattere di completamento del file corrisponde a entrambi i nomi di file e directory, mentre il carattere di completamento della directory corrisponde solo ai nomi di directory. Se il completamento del file viene utilizzato su uno qualsiasi dei comandi di directory incorporati (CD, MD o RD), si presume il completamento della directory.
Il codice di completamento tratta correttamente i nomi di file che contengono spazi o altri caratteri speciali inserendo virgolette attorno al percorso corrispondente. Inoltre, se si esegue il backup e quindi si invoca il completamento da una riga, il testo a destra del cursore nel punto in cui è stato invocato il completamento viene scartato.
I caratteri speciali che richiedono virgolette sono:
&()[]{}^=;!’+,`~
Sintassi del “comando” di Windows precedente
Avvia una nuova copia dell’interprete dei comandi di Windows.
COMMAND [[drive:] path] [device] [/E:nnnnn] [/L:nnnn] [/U:nnn] [/P] [/MSG] [/LOW] [/Y [/C|K] command]
| [drive:]il percorso | Specifica la directory contenente COMMAND.COM. |
| dispositivo | Specifica il dispositivo da utilizzare per l’input e l’output del comando. |
| /E:nnnn | Imposta la dimensione dell’ambiente iniziale su nnnnn byte. (nnnnn dovrebbe essere compreso tra 256 e 32.768). |
| /L:nnnn | Specifica la lunghezza dei buffer interni (richiede anche /P). (nnnn dovrebbe essere compreso tra 128 e 1.024). |
| /U:nnn | Specifica la lunghezza del buffer di input (richiede anche /P). (nnn dovrebbe essere compreso tra 128 e 255). |
| /P | Rende permanente il nuovo interprete dei comandi (non può uscire). |
| /MSG | Memorizza tutti i messaggi di errore in memoria (richiede anche /P). |
| /BASSO | Forza COMMAND a mantenere i suoi dati residenti in poca memoria. |
| /Y | Passa attraverso il programma batch specificato da /C o /K. Disponibile solo in MS-DOS 6.x e versioni successive. |
| comando /C | Esegue il comando specificato e restituisce. |
| /K comando | Esegue il comando specificato e continua l’esecuzione. |
| /Z | Visualizza il livello di errore di ogni comando eseguito. Disponibile solo in MS-DOS 7.x e versioni successive. |
Esempi
cmd
Questo esempio apre la shell dei comandi cmd. Se eri già in una shell di comando ed esegui il comando “cmd” o “comando” dalla riga di comando, verrà aperta una nuova riga di comando di Windows. Digitando “exit” si esce dalla nuova riga di comando e si torna alla riga di comando originale.
