Che cos'è il formato di file CMD?
Un file .cmd è uno script di comando di Windows NT in testo semplice eseguito da cmd.exe, l'interprete del Prompt dei comandi di Windows. È quasi identico al vecchio formato di file batch .BAT, con una differenza comportamentale importante: un file .cmd viene sempre eseguito con le estensioni dei comandi abilitate, offrendo accesso alla sintassi avanzata IF/FOR, alle subroutine CALL :label, alle espansioni di percorso %~nx0 e a una gestione affidabile di ERRORLEVEL, senza richiedere configurazioni del registro.
Introdotto nel 1993 con Windows NT 3.1 insieme al nuovo interprete cmd.exe, l'estensione .cmd è stata il modo scelto da Microsoft per distinguere gli script nativi di NT dai file .bat legacy di DOS, che giravano sotto COMMAND.COM. Entrambe le estensioni rimangono pienamente supportate fino a Windows 11.
Uno script .cmd consiste in comandi sequenziali di cmd.exe, etichette (:nome), parole chiave di controllo del flusso (GOTO, CALL, IF, FOR) ed espansioni di variabili (%VAR%). I blocchi SETLOCAL/ENDLOCAL isolano le modifiche alle variabili d'ambiente nell'ambito dello script. Non ci sono magic bytes: il file è testo semplice, tipicamente salvato con codifica ANSI/Windows-1252; l'UTF-8 funziona, ma un byte-order mark (BOM) all'inizio può corrompere la prima riga di comando.
I file .cmd sono eseguibili: facendo doppio clic su uno di essi si eseguono immediatamente tutti i comandi. Ispezionare sempre un file .cmd non attendibile in un editor di testo prima di eseguirlo. Per l'automazione moderna di Windows, sono preferibili gli script PowerShell (.ps1), sebbene il formato .cmd rimanga essenziale per i sistemi legacy e l'automazione di attività leggere.
Sicurezza e incolumità
RISCHIO: HIGHUn file .cmd è ESEGUIBILE: facendo doppio clic su di esso si esegue ogni comando immediatamente con i privilegi dell'utente. Può eliminare o crittografare file, modificare le impostazioni di sistema, scaricare malware aggiuntivo, disabilitare strumenti di sicurezza o sottrarre dati. È un formato standard per la distribuzione di malware, spesso camuffato da «fix», «installer», «optimizer» o «crack di attivazione», ed è comunemente inviato come allegato e-mail o scaricato da false pagine di supporto. GESTIONE SICURA: non fare mai doppio clic su un file .cmd non attendibile. Per ispezionarlo, fare clic destro > Mostra altre opzioni > Modifica (si apre nel Blocco note senza eseguire). Cerca questi segnali di allarme: comandi che chiamano powershell/curl/bitsadmin/certutil per scaricare file, stringhe codificate in base64, tentativi di disabilitare Windows Defender o UAC, scritture nelle cartelle AppData/system o lunghe stringhe offuscate con l'accento circonflesso (^). In caso di dubbio, carica il file su VirusTotal (è un file di testo, sicuro da caricare) ed eseguilo solo all'interno di una VM/sandbox. Nota: i file .cmd di software noti (wrapper Gradle, Maven, Node.js) sono sicuri ma dovrebbero comunque provenire dalle loro distribuzioni ufficiali, non da download di terze parti.
Dettagli del formato
in sintesiProgrammi che aprono file CMD
Dettagli tecnici
specifiche approfondite| Codifica | Testo - tipicamente ANSI/Windows-1252 o ASCII; l'UTF-8 è supportato ma un BOM all'inizio può corrompere il primo comando |
| Contenitore | Testo semplice |
| Crittografia | Nessuna (testo semplice; nessuna firma del codice integrata a differenza degli script PowerShell .ps1) |
| Dimensione tipica | 100 byte - 100 KB |
| Struttura | Comandi sequenziali cmd.exe, etichette (:nome), controllo del flusso IF/FOR/GOTO/CALL, espansioni %VAR%, blocchi SETLOCAL/ENDLOCAL |
| Estensioni dei comandi | Sempre abilitate nei file .cmd (a differenza di .bat, che dipende dall'impostazione del registro EnableExtensions) |
| Interprete | cmd.exe (non il legacy COMMAND.COM usato per i file .bat di DOS) |
| Magic bytes | Nessuno - testo semplice; molti file iniziano con @echo off, REM, o :: (riga di commento) |
| Sistema operativo associato | Windows NT 3.1 e tutte le versioni successive, incluso Windows 11 |
| Sostituito da | PowerShell (.ps1) per l'automazione moderna; .cmd e .bat rimangono pienamente supportati a partire da Windows 11 |
| Comportamento di esecuzione | Il doppio clic esegue immediatamente tutti i comandi; ispezionare sempre in un editor di testo prima di eseguire file non attendibili |
| Rilasciato | 1993 with Windows NT 3.1 / OS/2 as the NT-era sibling of the DOS .bat extension |
| Ultima versione | No versioned spec; behavior defined by the cmd.exe of each Windows release (Windows 11 as of 2026) |
| Specifica | learn.microsoft.com |
Conversioni CMD
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CMD.