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

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

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 /? per visualizzare le specifiche. Dove è il nome del comando su cui vuoi le specifiche.

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.

Articoli correlati

Ultimi articoli