Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Расширение файла: когда BAT, а когда - CMD? (http://forum.oszone.net/showthread.php?t=120383)

truvo 18-10-2008 04:16 926981

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

Busla 18-10-2008 12:32 927181

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

amel27 18-10-2008 14:22 927263

Цитата:

Цитата Busla
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/arti...at-vs-cmd.html
http://www.ntsecurity.net/article/ar...at-vs-cmd.html

truvo 19-10-2008 03:16 927773

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

amel27 19-10-2008 04:59 927789

truvo
Цитата:

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

truvo 20-10-2008 01:05 928173

amel27, извините, я просто слишком невнимательно читал цитату, поэтому в предыдущем своем посте сморозил явную чепуху.

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

amel27 20-10-2008 03:29 928216

Цитата:

Цитата truvo
можно ли где-то в сети ознакомиться с конкретными признаками этих двух групп? »

есть некоторые мелкие отличия и среди NT-систем, все тонкости для каждой команды описаны тут:
http://www.robvanderwoude.com/batchfiles.html


Время: 10:56.

Время: 10:56.
© OSzone.net 2001-