летучая мышь Com exe


летучая мышь Com exe

Batch files are simply text files or small scripts that can be executed by the command line processor – “command.com”,
they were widely used in the DOS environment to automate common tasks. With the release of Windows, “cmd.exe” is responsible
for executing batch files. The command syntax has been greatly expanded. With this in mind, batch files can be classified as
interpreted programming languages.

EXE files are different from BAT files since they contain executable binary data
rather than plain text commands. They are stored in the Portable Executable (PE) format.
The EXE file format includes various headers and sections that tell Windows how to run
a program. Some portions of an EXE file may contain program code while others may
contain resource data.

Do not directly compare the size of the batch file and the executable file, since the machine code for all batch
file commands is contained in the “cmd.exe” file. You can open the Windows folder on the disk and check the size of that file.
This means that after compiling the script the executable file cannot be smaller.

What are the disadvantages of converting bat to exe?

Насколько я понимаю, .bat – это старое 16-битное соглашение об именах, а .cmd – для 32-битной Windows, то есть начиная с NT. Но я продолжаю видеть файлы .bat повсюду, и, похоже, они работают одинаково, используя любой из суффиксов. Если предположить, что моему коду никогда не придется запускать что-либо старше NT, действительно ли имеет значение, каким образом я назову свои командные файлы, или меня ждут какие-то ошибки из-за неправильного суффикса?

13 ответов

Из публикации этой группы новостей, написанной сам Марк Збиковски:

Различия между . CMD и . BAT в том, что касается CMD. EXE: с включенными расширениями PATH / APPEND / PROMPT / SET / ASSOC в файлах . CMD будет устанавливать ERRORLEVEL независимо от ошибки. .BAT устанавливает ERRORLEVEL только при ошибках.

Другими словами, если для ERRORLEVEL установлено значение, отличное от 0, а затем вы запускаете одну из этих команд, результирующий ERRORLEVEL будет:

24 Окт 2018 в 11:52

Эти ответы слишком длинные и ориентированы на интерактивное использование. Важные отличия сценариев:

Не так уж и интересно, а?

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

:/>  Загрузка и исправление файла Wscript.exe для всех ОС Windows

Итог: в 2012 году и позже я рекомендую использовать исключительно .cmd.

9 Янв 2020 в 05:49

Нет, это не имеет никакого значения. В NT расширение .bat и .cmd заставляет процессор cmd.exe обрабатывать файл точно так же.

Дополнительная интересная информация о command.com и cmd.exe в системах класса WinNT из MS TechNet (http://technet.microsoft.com/en-us/library/cc723564.aspx):

Такое поведение обнаруживает весьма тонкую особенность Windows NT, которая очень важна. 16-разрядная оболочка MS-DOS (COMMAND. COM), поставляемая с Windows NT, специально разработана для Windows NT. Когда эта оболочка вводит команду для выполнения, она фактически не выполняет ее. Вместо этого он упаковывает текст команды и отправляет его в 32-разрядную командную оболочку CMD. EXE для выполнения. Поскольку все команды фактически выполняются CMD. EXE (командная оболочка Windows NT), 16-разрядная оболочка наследует все функции и возможности полной оболочки Windows NT.

30 Сен 2008 в 03:34

RE: Очевидно, когда вызывается command.com, это немного сложная загадка;

Несколько месяцев назад в ходе проекта нам пришлось выяснить, почему некоторые программы, которые мы хотели запускать под CMD. EXE, на самом деле выполнялись под COMMAND. COM. Речь идет о очень старом файле . BAT, который до сих пор запускается ежедневно.

Мы обнаружили, что командный файл запускался под COMMAND. COM потому, что он запускался из файла . PIF (тоже древнего). Поскольку специальные настройки конфигурации памяти, доступные только через PIF, перестали иметь значение, мы заменили их обычным ярлыком на рабочем столе.

Тот же командный файл, запускаемый с ярлыка, запускается в CMD. EXE. Если подумать, это имеет смысл. Причина, по которой нам потребовалось так много времени, чтобы это понять, частично связана с тем, что мы забыли, что его элемент в группе стартапов был PIF, потому что он был в производстве с 1998 года.

8 Июл 2012 в 02:47

Тем не менее, в Windows 7 файлы BAT также имеют это различие: если вы когда-нибудь создадите файлы TEST. BAT и TEST. CMD в одном каталоге и запустите TEST в этом каталоге, он запустит файл BAT.

22 Ноя 2014 в 20:04

Еще одно различие между .bat и .cmd заключается в том, что если существуют два файла с одинаковым именем и обоими этими расширениями, то:

:/>  При попытке запуска или установки операционной системы была обнаружена проблема с кодами 0xc00000e9 как в Windows 7, так и в Windows 10

Rob at TVSeries.com
5 Фев 2014 в 18:46

Все, что работает в пакете, должно работать в cmd; cmd предоставляет некоторые расширения для управления средой. Кроме того, cmd выполняется в новом интерпретаторе cmd и, следовательно, должен быть быстрее (не заметен в коротких файлах) и стабильнее, поскольку bat работает в 16-битной среде, эмулированной NTVDM.

29 Сен 2008 в 18:47

Выполнение файлов .cmd и .bat отличается, поскольку в переменной уровня ошибок .cmd она может изменяться для команды, на которую влияют расширения команд. Вот и все на самом деле.

15 Авг 2017 в 21:56

Я считаю, что если вы измените значение переменной среды ComSpec на %SystemRoot%system32cmd.exe (CMD), тогда не имеет значения, имеет ли расширение файла . BAT или . CMD. Я не уверен, но это может быть даже по умолчанию для WinXP и выше.

26 Авг 2019 в 18:59

Расширение не имеет значения.

Есть небольшие различия между обработкой файла COMMAND. COM и CMD. EXE.

26 Авг 2019 в 17:45

Вы можете столкнуться с этим, когда выполняете файл сценария, а затем редактируете его до того, как он завершится. bat файлы будут испорчены, а файлы cmd – нет.

4 Апр 2010 в 00:22

Вот подборка проверенной информации из различных ответов и цитированных ссылок в этой ветке:

Вот список функций cmd.exe, которые не поддерживаются command.com:

Если обе версии сценария .bat и .cmd (test.bat, test.cmd) находятся в одной папке и вы запускаете сценарий без расширения (test), по умолчанию будет запущена версия сценария .bat, даже если в 64-битной Windows 7. Порядок выполнения контролируется переменной среды PATHEXT. См. Порядок, в котором командная строка выполняет файлы для получения дополнительных сведений.

Википедия: Сравнение командных оболочек

Немного не по теме, но рассматривали ли вы Windows Scripting Host? Вы могли бы найти это лучше.

9 Окт 2009 в 01:52

Когда я запускаю Apache Tomcat

start
tomcat/bin/startup.bat
tomcat/bin/startup.sh
stop
tomcat/bin/shutdown.bat
tomcat/bin/shutdown.sh

Итак, я знаю, что отслеживание файлов похоже на программу.

– *bat, *cmd – Batch, Comand
– *exe – C
– *jar – Java

Я могу читать и понимать содержимое скрипта в файле *bat.

1 ответ

Файл .bat представляет собой пакетный файл Windows, содержащий последовательность команд Windows/DOS. Их нельзя использовать в приглашении оболочки Unix.

Файл .sh представляет собой сценарий оболочки Unix, содержащий ряд команд Unix. Их нельзя запустить в командной строке Windows DOS или Powershell.

:/>  Chkdsk - проверка диска на ошибки

.exe – это исполняемый формат только для Windows, который, в свою очередь, может выполнять скрипт .bat или другой скомпилированный код. Также нельзя напрямую использовать в командной строке Unix.

Каждый из них может легко запустить серию команд или одну команду, для которой требуются сложные переменные среды или аргументы. Вы можете открыть файл .bat или файл .sh в текстовом редакторе, таком как блокнот, и просмотреть команды, которые они выполняют.

12 Сен 2021 в 16:58

All commands have the same structure and syntax. Once you understand this simple syntax, the commands won’t appear so cryptic and arbitrary.
The structure of a command is:

Redirection and Piping

Fortunately, Windows does have the ability to do redirection and piping, but, unfortunately, Windows does not provide most of the necessary commands/programs to make use of these techniques. The easiest way
to get these missing commands/programs is to install Cygwin on Windows. That will give you 95% of what you will need to be productive from the command line in Windows. For Linux and Mac OS X, all of the necessary
commands/programs are already present.

Examples showing commands, redirection, piping, switches, arguments: (sort, cut, and uniq are part of Cygwin, not Windows)

Detailed info on the Windows NT command shell. Кстати, Windows NT
является основой для всех операционных систем NT (2000, Vista, 7 и т. д.) Предыдущие версии Windows (Windows 3.0, Windows 95, 98) отличались (внутренне).
И да, Windows NT действительно начиналась с версии 3.1!

«80% времени вы будете использовать 20% команд»

На мой взгляд, эти команды вы будете использовать чаще всего. Считайте их «основными» командами. Ну, некоторые не совсем основные,
но они просты, и вы можете найти их полезными сами по себе или в пакетных файлах.

Некоторые базовые методы работы с пакетными файлами