Разница между CMD и BAT

CMD против BAT

CMD и BAT - это файлы, которые используются для автоматизации определенных задач, которые повторяются и часто используются пользователем. Создание файла CMD или BAT аналогично использованию простого языка программирования с преимуществами возможности использовать инструкции командной строки и выполнять другие приложения с параметрами или без них. Файлы CMD и BAT очень похожи друг на друга с очень незначительными различиями. BAT - это очень старый тип файлов, который существует с момента появления DOS. Это было перенесено Microsoft, когда она разработала Windows от DOS. Тип файла CMD был разработан Microsoft для использования в сценариях команд Windows NT, но также используется в более новых версиях Windows, основанных на Windows NT..

BAT был создан для взаимодействия с COMMAND.COM, командным интерпретатором DOS. Microsoft приняла большинство команд DOS в своем новом интерпретаторе CMD. ИСПОЛНЯЕМЫЙ ФАЙЛ. CMD был создан для взаимодействия с CMD.EXE и нарушает совместимость с COMMAND.COM. Другое ключевое отличие состоит в том, как они обрабатывают переменную errorlevel. При использовании BAT эта переменная изменяется только тогда, когда возникает фактическая ошибка и не происходит никаких изменений в состоянии, когда каждая команда выполняется успешно. Это не верно для CMD, поскольку переменная errorlevel по-прежнему будет изменять состояние, даже если ошибок не будет. Программисты должны принять это к сведению при создании сложных сценариев, так как это может вызвать некоторую путаницу.

Помимо этих незначительных различий, CMD и BAT идентичны друг другу. Большинство пользователей, которые создают простые сценарии для очистки или передачи файлов, не должны сталкиваться с какими-либо проблемами. Для пользователей более поздних версий Windows BAT и CMD в значительной степени взаимозаменяемы, поскольку CMD.EXE будет интерпретировать и выполнять команды в обоих файлах. Хотя большинство пользователей знают об этом, многие пожилые люди, имевшие возможность работать с DOS и ее пакетными файлами, все еще используют расширение BAT; просто по привычке и знакомству.

Резюме:

1. Расширение BAT используется DOS и Windows, в то время как расширение CMD предназначено для командных сценариев Windows NT.

2. Расширение BAT может интерпретироваться COMMAND.COM и CMD.EXE, в то время как расширение CMD может интерпретироваться только CMD.EXE.

3. Уровень ошибки всегда изменяет состояние в CMD, но только при ошибках в BAT