Diferencia entre CMD y BAT

CMD vs BAT

CMD y BAT son archivos que se utilizan para automatizar ciertas tareas que son repetitivas y que el usuario usa con frecuencia. Crear un archivo CMD o BAT es como usar un lenguaje de programación simple con las ventajas de poder usar las instrucciones de la línea de comandos y ejecutar otras aplicaciones con o sin parámetros. Los archivos CMD y BAT son muy similares entre sí con diferencias muy pequeñas. BAT es un tipo de archivo muy antiguo que ha existido desde la llegada de DOS. Fue transferido por Microsoft cuando desarrolló Windows lejos de DOS. El tipo de archivo CMD fue desarrollado por Microsoft para su uso en la implementación de los scripts de comandos de Windows NT, pero también está en uso por las versiones más recientes de Windows basadas en Windows NT.

BAT fue creado para interactuar con COMMAND.COM, el intérprete de comandos de DOS. Microsoft adoptó la mayoría de los comandos de DOS en su nuevo intérprete llamado CMD. EXE. CMD fue creado para interactuar con CMD.EXE y rompe la compatibilidad con COMMAND.COM. Otra diferencia clave es la forma en que manejan la variable errorlevel. Cuando se usa BAT, esta variable solo se cambia una vez que se produce un error real y no se produce ningún cambio en el estado cuando cada comando se ejecuta con éxito. Esto no es cierto para CMD ya que la variable errorlevel todavía cambiaría de estado incluso si no se producen errores. Los programadores deben tomar nota de esto al crear scripts elaborados, ya que puede causar un poco de confusión.

Aparte de esas pequeñas diferencias, CMD y BAT son idénticos entre sí. La mayoría de los usuarios que crean secuencias de comandos simples para borrar o transferir archivos no deben encontrar ningún problema. Para los usuarios de las versiones más recientes de Windows, BAT y CMD son prácticamente intercambiables, ya que CMD.EXE interpretaría y ejecutaría los comandos en ambos archivos. Aunque la mayoría de los usuarios son conscientes de este hecho, muchas de las personas mayores que tuvieron la oportunidad de trabajar con DOS y sus archivos por lotes todavía usan la extensión BAT; simplemente por costumbre y familiaridad.

Resumen:

1. DOS y Windows usan la extensión BAT, mientras que la extensión CMD es para los comandos de comandos de Windows NT

2. La extensión BAT puede ser interpretada por COMMAND.COM y CMD.EXE, mientras que la extensión CMD solo puede ser interpretada por CMD.EXE

3. El nivel de error siempre cambia de estado en CMD pero solo en errores en BAT