Отличия BAT от CMD

Отличия BAT от CMD

Не будем останавливаться на истории языка командных файлов. Рассмотрим чисто практический вопрос- одинаково ли работают файлы с расширением bat и cmd. Оказывается, не всегда!

Для команд PATH/APPEND/PROMPT/SET/ASSOC в файлах с расширением CMD ERRORLEVEL будет установлен вне зависимости от ошибок. В файлах с расширением BAT эти команды устанавливают ERRORLEVEL ТОЛЬКО при ошибке.

Рассмотрим простой пример.

@echo off setlocal ENABLEEXTENSIONS ver>nul echo After the VER command, errorlevel is %errorlevel% md;2>nul echo Using MD incorrectly, errorlevel is %errorlevel% set var=1 echo After setting var, errorlevel is %errorlevel%


Далее сохраним этот текст в файл с расширением bat и в файл с расширением cmd.
Bat файл выдаст результат:
After the VER command, errorlevel is 0
Using MD incorrectly, errorlevel is 1
After setting var, errorlevel is 1
								

Он же, но с расширением cmd выдаст такой результат:
After the VER command, errorlevel is 0
Using MD incorrectly, errorlevel is 1
After setting var, errorlevel is 0
								
Как говорится, найдите отличие.

Ну и, наконец, ссылки по теме, в том числе на источники. Более подробно вы можете ознакомится с этим вопросом тут и тут.



Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).






  TopList Rambler Top100 own counter Valid XHTML 1.0 Strict Valid CSS Rambler Top100

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка link О авторе

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка Ссылки О авторе Отправить сообщение Карта сайта Поиск по сайту Главная страница

Copyright © 1999 - 2017  Бронислав Краснер