Wat is het CMD-bestandsformaat?
Een .cmd-bestand is een Windows NT-opdrachtscript in platte tekst dat wordt uitgevoerd door cmd.exe, de Windows Command Prompt-interpreter. Het is bijna identiek aan het oudere .BAT batchbestandsformaat, met één belangrijk verschil in gedrag: een .cmd-bestand wordt altijd uitgevoerd met opdrachtextensies ingeschakeld, wat toegang geeft tot verbeterde IF/FOR-syntaxis, CALL :label-subroutines, %~nx0-paduitbreidingen en betrouwbare ERRORLEVEL-afhandeling - zonder dat er registerconfiguratie vereist is.
Geïntroduceerd in 1993 met Windows NT 3.1 samen met de nieuwe cmd.exe-interpreter, was de .cmd-extensie de manier van Microsoft om NT-eigen scripts te onderscheiden van legacy DOS .bat-bestanden, die onder COMMAND.COM draaiden. Beide extensies blijven volledig ondersteund tot en met Windows 11.
Een .cmd-script bestaat uit opeenvolgende cmd.exe-opdrachten, labels (:naam), flow-control trefwoorden (GOTO, CALL, IF, FOR) en variabele-uitbreidingen (%VAR%). SETLOCAL/ENDLOCAL-blokken isoleren wijzigingen in omgevingsvariabelen tot het bereik van het script. Er zijn geen magic bytes - het bestand is platte tekst, meestal opgeslagen in ANSI/Windows-1252-codering; UTF-8 werkt, maar een byte-order mark (BOM) aan het begin kan de eerste opdrachtregel verstoren.
.cmd-bestanden zijn uitvoerbaar: dubbelklikken voert alle opdrachten onmiddellijk uit. Inspecteer een onbetrouwbaar .cmd-bestand altijd in een teksteditor voordat u het uitvoert. Voor moderne Windows-automatisering hebben PowerShell-scripts (.ps1) de voorkeur, hoewel .cmd essentieel blijft voor legacy-systemen en lichtgewicht taakautomatisering.
Beveiliging & veiligheid
RISICO: HIGHEen .cmd-bestand is UITVOERBAAR: dubbelklikken voert elke opdracht onmiddellijk uit met uw gebruikersrechten. Het kan bestanden verwijderen of versleutelen, systeeminstellingen wijzigen, extra malware downloaden, beveiligingstools uitschakelen of gegevens stelen. Het is een standaardformaat voor malwareverspreiding, vaak vermomd als een „fix”, „installer”, „optimizer” of „activatie-crack”, en wordt vaak verzonden als e-mailbijlage of gedownload van valse ondersteuningspagina's. VEILIGE AFHANDELING: dubbelklik nooit op een onbetrouwbair .cmd-bestand. Om het te inspecteren, klikt u met de rechtermuisknop > Meer opties weergeven > Bewerken (opent in Kladblok zonder uitvoering). Let op deze rode vlaggen: opdrachten die powershell/curl/bitsadmin/certutil aanroepen om bestanden te downloaden, base64-gecodeerde strings, pogingen om Windows Defender of UAC uit te schakelen, schrijven naar AppData/systeemmappen, of lange versluierde strings met caret (^)-escapes. Upload het bestand bij twijfel naar VirusTotal (het is een tekstbestand, veilig om te uploaden) en voer het alleen uit in een VM/sandbox. Opmerking: .cmd-bestanden van bekende software (Gradle, Maven, Node.js wrappers) zijn veilig, maar moeten nog steeds afkomstig zijn van hun officiële distributies, niet van downloads van derden.
Formaatdetails
in een notendopProgramma's die CMD-bestanden openen
Technische details
diepe specificaties| Codering | Tekst - meestal ANSI/Windows-1252 of ASCII; UTF-8 wordt ondersteund, maar een BOM aan het begin kan de eerste opdracht verstoren |
| Container | Platte tekst |
| Versleuteling | Geen (platte tekst; geen ingebouwde code-ondertekening in tegenstelling tot PowerShell .ps1-scripts) |
| Typische grootte | 100 bytes - 100 KB |
| Structuur | Opeenvolgende cmd.exe-opdrachten, labels (:naam), IF/FOR/GOTO/CALL flow-control, %VAR%-uitbreidingen, SETLOCAL/ENDLOCAL-blokken |
| Opdrachtextensies | Altijd ingeschakeld in .cmd-bestanden (in tegenstelling tot .bat, dat afhankelijk is van de registerinstelling EnableExtensions) |
| Interpreter | cmd.exe (niet de legacy COMMAND.COM die wordt gebruikt voor DOS .bat-bestanden) |
| Magic bytes | Geen - platte tekst; veel bestanden beginnen met @echo off, REM, of :: (commentaarregel) |
| Geassocieerd OS | Windows NT 3.1 en alle latere versies, inclusief Windows 11 |
| Vervangen door | PowerShell (.ps1) voor moderne automatisering; .cmd en .bat blijven volledig ondersteund vanaf Windows 11 |
| Uitvoeringsgedrag | Dubbelklikken voert alle opdrachten onmiddellijk uit; inspecteer onbetrouwbare bestanden altijd in een teksteditor voordat u ze uitvoert |
| Uitgebracht | 1993 with Windows NT 3.1 / OS/2 as the NT-era sibling of the DOS .bat extension |
| Laatste versie | No versioned spec; behavior defined by the cmd.exe of each Windows release (Windows 11 as of 2026) |
| Specificatie | learn.microsoft.com |
CMD conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CMD-bestanden.