Hva er en CMD-fil?
En CMD-fil består av et skript som inneholder en eller flere kommandoer i form av ren tekst som kjøres for å utføre ulike oppgaver. Den ligner på en BAT-fil, som også vanligvis brukes til å lagre en gruppe kjørbare kommandoer. CMD-filene er mye brukt i Microsoft Windows-operativsystemet. Disse filene ble introdusert på nesten 90-tallet, men fortsatt brukt i det nyeste Windows-operativsystemet. Disse filene er vanligvis skrevet for å utføre mer enn én kommando i en sekvens.
CMD-filformat
CMD er et filformat som brukes av kjørbare programmer i CP/M-stil. Det er generelt sammenlignbart med COM i CP/M-80 og EXE i DOS. En CMD-fil inneholder 1 til 8 grupper med kode eller data og en 128-byte header. Hver gruppe kan være opptil 1 mb stor. CMD-filer kan også inneholde informasjon om omplassering og Resident System Extensions (RSX) i senere versjoner. CMD er en nykommer sammenlignet med BAT fil; brukt for MS-DOS før utgivelsen av Windows i MS-DOS. Selv om du fortsatt kan lagre filer med .bat-utvidelsen i dag, bruker mange .cmd-utvidelsen for å lagre kjørbare skript.
CMD-formatspesifikasjon
Starten av overskriften inneholder listen over gruppene som er tilstede i filen sammen med typene deres. Hver type kan maksimalt brukes én gang. Disse typene er:
- Code
- Data
- Extra
- Stack
- User 1
- User 2
- User 3
- User 4
- Shared Code
På samme måte Program Segment Prefix i DOS, de første 256 bytene i datagruppen er null. De vil fylles ut av CP/M-86 med nullsiden. Hvis det ikke er noen datagruppe, vil de første 256 bytene av kodegruppen bli brukt i stedet.
CMD-fileksempel
Følgende er et eksempel på et CMD-skript for å vise systeminformasjon.
@ECHO OFF
:: This CMD script provides you with your operating system, hardware and network information.
TITLE My System Info
ECHO Please wait... Gathering system information.
ECHO =========================
ECHO OPERATING SYSTEM
systeminfo | findstr /c:"OS Name"
systeminfo | findstr /c:"OS Version"
ECHO =========================
ECHO BIOS
systeminfo | findstr /c:"System Type"
ECHO =========================
ECHO MEMORY
systeminfo | findstr /c:"Total Physical Memory"
ECHO =========================
ECHO CPU
wmic cpu get name
ECHO =========================
ECHO NETWORK ADDRESS
ipconfig | findstr IPv4
ipconfig | findstr IPv6
PAUSE