CMD versus BAT
CMD en BAT zijn bestanden die worden gebruikt voor het automatiseren van bepaalde taken die repetitief zijn en vaak door de gebruiker worden gebruikt. Het maken van een CMD- of BAT-bestand is net als het gebruik van een eenvoudige programmeertaal met de voordelen van de mogelijkheid om opdrachtregelinstructies te gebruiken en andere toepassingen met of zonder parameters uit te voeren. CMD- en BAT-bestanden lijken erg op elkaar met zeer kleine verschillen. BAT is een heel oud bestandstype dat al bestaat sinds de komst van DOS. Het werd overgenomen door Microsoft toen het Windows uit de buurt van DOS ontwikkelde. Het CMD-bestandstype is door Microsoft ontwikkeld om te worden gebruikt voor de implementatie van Windows NT-opdrachtscripts, maar wordt ook gebruikt door de nieuwere versies van Windows die zijn gebaseerd op Windows NT.
BAT is gemaakt om te communiceren met COMMAND.COM, de opdrachtinterpreter van DOS. Microsoft heeft de meeste DOS-opdrachten overgenomen in hun nieuwe interpreter met de naam CMD. EXE. CMD is gemaakt om te communiceren met CMD.EXE en het verbreekt de compatibiliteit met COMMAND.COM. Een ander belangrijk verschil is de manier waarop ze omgaan met de variabele errorlevel. Als u BAT gebruikt, wordt deze variabele pas gewijzigd als er zich een echte fout voordoet en er geen statusverandering optreedt wanneer elke opdracht met succes wordt uitgevoerd. Dit geldt niet voor CMD, omdat de variabele van het foutniveau nog steeds van status verandert, zelfs als er geen fouten optreden. Programmeurs dienen hier kennis van te nemen bij het maken van uitgebreide scripts, omdat dit een klein beetje verwarring kan veroorzaken.
Afgezien van die kleine verschillen, zijn CMD en BAT identiek aan elkaar. De meeste gebruikers die eenvoudige scripts maken om bestanden te wissen of over te dragen, mogen geen enkel probleem ondervinden. Voor gebruikers van de meer recente versies van Windows zijn BAT en CMD vrijwel onderling uitwisselbaar aangezien CMD.EXE de opdrachten in beide bestanden zou interpreteren en uitvoeren. Hoewel de meeste gebruikers zich van dit feit bewust zijn, gebruiken veel oudere mensen die de kans hadden om met DOS en de batchbestanden te werken, nog steeds de BAT-extensie; gewoon uit gewoonte en bekendheid.
Samenvatting:
1. De BAT-extensie wordt gebruikt door DOS en Windows, terwijl de CMD-extensie voor Windows NT-opdrachtscripts is
2. De BAT-extensie kan worden geïnterpreteerd door COMMAND.COM en CMD.EXE, terwijl de CMD-extensie alleen kan worden geïnterpreteerd door CMD.EXE
3. Het foutniveau verandert altijd van toestand in CMD, maar alleen van fouten in BAT