Войти

Показать полную графическую версию : Расширение файла: когда BAT, а когда - CMD?


truvo
18-10-2008, 04:16
Хотелось бы получить исчерпывающий ответ, в чем разница между двумя возможными расширениями командного файла, есть ли случаи, когда новонаписанный батник должен быть строго bat или строго cmd, или никакой разницы?

Busla
18-10-2008, 12:32
AFAIK на современных системах они выполняются идентично. Расширение CMD как batch-файл обрабатывается только в Windows. Полагаю, ввели это чтобы можно было визуально отличать скрипты написанные специально для Windows

amel27
18-10-2008, 14:22
CMD как batch-файл обрабатывается только в Windows »
Windows NT и выше
I work in a mixed Windows 2000, Windows NT, and Windows 9x environment. I often build batch files that work properly only under Win2K and NT because the files either call utilities that run only under those OSs or use shell functions that don't exist in Win9x. If a batch file contains portions that don't work under Win9x, running the batch file on Win9x systems can be disastrous.

To prevent problems, when I write batch files that contain no portions that will fail under Win9x, I name the file with a .bat extension, which will run under any Windows version. If I use features that only Win2K and NT support, I name the file with a .cmd extension. Win2K and NT recognize .cmd files as executable and will run them. Win9x doesn't recognize .cmd as an executable file type: If you attempt to run a file with a .cmd extension under Win9x, the OS simply reports a Bad command or file name error message, and no damage is done.

—Chris Taylor


Взято отсюда:
http://windowsitpro.com/article/articleid/21110/bat-vs-cmd.html
http://www.ntsecurity.net/article/articleid/24048/alternative-to-bat-vs-cmd.html

truvo
19-10-2008, 03:16
amel27, получается, что для универсальности (запуска на любой ОС) надо использовать расширение bat. Но тогда какой высокий смысл в использовании вообще расширения cmd?

amel27
19-10-2008, 04:59
truvo
какой высокий смысл в использовании вообще расширения cmd »как сказано в цитате - исключить запуск CMD-файлов на Windows 9x (во избежание ошибок)

truvo
20-10-2008, 01:05
amel27, извините, я просто слишком невнимательно читал цитату, поэтому в предыдущем своем посте сморозил явную чепуху.

В цитате упоминается, что какие-то командные файлы могут работать только под Win2K и NT, а какие-то, напротив, - под любой Windows, в том числе 98. А можно ли где-то в сети ознакомиться с конкретными признаками этих двух групп?

amel27
20-10-2008, 03:29
можно ли где-то в сети ознакомиться с конкретными признаками этих двух групп? »
есть некоторые мелкие отличия и среди NT-систем, все тонкости для каждой команды описаны тут:
http://www.robvanderwoude.com/batchfiles.html




© OSzone.net 2001-2012