BAT 2 EXE и Bat To EXE, или как создать из BAT-скрипта исполняемый EXE-файл

Использование готовых пакетных файлов является прекрасной альтернативой ручному выполнению команд в командной строке. Однако в некоторых случаях пользователи могут столкнуться с ограничениями применения скриптов форматов CMD или BAT. Обойти это ограничение можно, сконвертировав скрипт в исполняемый файл формата EXE. Полученный экзешник выполняет те задачи, что и скрипт, хотя сам процесс исполнения может отличаться.

Например, если EXE-файл выполняется в фоновом режиме, пользователь не сможет получить данные, которые при выполнении CMD-скрипта должны выводиться в графическом интерфейсе командной строки. Но как правило, с подобным явлением приходится встречаться редко, тем более, что скрипт может быть изменен таким образом, что данные будут выводится вне консоли.

5664896_1.jpg

Утилит, предназначенных для конвертирования «батников» существует достаточно много. Если вы опытный пользователь, имеющий представление о языке интерпретатора CMD(хотя в целом знать его необязательно), вам подойдёт утилита Bat To EXE. Если же вы собираетесь ограничиться простым конвертированием пакетного файла, воспользуйтесь портативной тулзой BAT 2 EXE.

5664896_2.jpg

Bat To EXE поддерживается конвертирование, создание и редактирование скриптов отдельно до 32- и 64-битных систем, добавление в исполняемый файл иконки, дополнительных сведений о версии, реализация возможности запуска EXE-файла с правами администратора, а также выполнение в фоновом (скрытом) режиме. BAT 2 EXE намного проще. По большому счету всё что умеет делать инструмент, это преобразовывать BAT- и CMD-скрипты в EXE-файлы.

5664896_3.jpg

После первого запуска утилита попросит указать каталог с конвертируемым скриптом и запросит разрешение на выполнение процедуры. Чтобы начать процесс конвертирования батника, ведите в консольном интерфейсе BAT 2 EXE «y» и нажмите ввод. Также потребуется указать выходной каталог для сохранения результата. Полученный экзешник будет иметь то же имя, что и скрипт.

Скачать BAT 2 EXE можно с официального сайта автора www.bat2exe.net, более мощный Bat To EXE доступен для скачивания с сайта www.f2ko.de/en/b2e.php.

При работе на компьютере часто возникает необходимость повтора одних и тех же DOS-команд для осуществления периодически исполняемых действий, построения сложной и многоуровневой последовательности исполняемых команд или приложений, автоматизации работы с приложениями и файлами с участием или в отсутствие пользователя. В операционной системе есть возможность записать несколько команд в bat-файле. При этом, просто запуская данный командный файл (часто его называют скрипт, или просто «батник»), можно осуществлять выполнение прописанных команд, а прописав его в событиях планировщика Windows, можно автоматизировать этот процесс.

Особенностью файлов данного типа является отсутствие внутри какого-либо кода — имеется только тактовая информация, которую считывает и исполняет командный DOS-процессор, совместимый практически со всеми версиями операционной системы Windows. Одним из ярких примеров является файл autoexec.bat, который необходим для запуска этой ОС, так как именно он осуществляет ее настройки в ходе запуска.

1196220.jpg

Основные возможности командных файлов

Команды, которые содержит bat-файл, по функционалу можно условно разделить на несколько групп:

1196214.jpg

Выполнение командных файлов

Запуск bat-файлов можно осуществить различными способами. При работе в командной строке в текущем каталоге можно просто вводить имена файлов с дополнительными параметрами или без них. При этом команды bat-файлов после запуска будут выполняться последовательно друг за другом, уже без вмешательства пользователя.

При нахождении командного файла в другом каталоге необходимо кроме полного имени этого файла прописать полный путь до каталога его хранения. Расширение файла также можно не прописывать. Например, текущий каталог d:photowork, а командный файл vera.bat, который нужно выполнить с параметрами resize.doc и /p, находится в каталоге d:photohome. Тогда для того, чтобы осуществился запуск нашего файла, нужно прописать команду d:photohomevera resize.doc /p или команду ..homevera resize.doc /p.

Прерывание работы

Исполняемые после запуска команды bat-файлов можно прервать комбинациями кнопок <ctrl>+<break> и <ctrl>+<c>. На дисплее появится запрос на прерывание выполнения командного файла с запросом, ожидающим ввода Yes или No. Если ввести Y, то выполнение прервется, а оставшийся список команд bat-файла будет проигнорирован. Если введете символ N, то выполнение продолжится со следующей команды из списка.</c></ctrl></break></ctrl>

1196215.jpg

Вызов другого командного файла

Bat-файлы могут содержать в себе ссылки на исполнение других скриптов. Если просто прописать в теле скрипта bat-файл, команды после него уже исполняться не будут, так как управление передается на другой батник и будут выполнены команды уже из него. Если требуется возврат после запуска внутреннего файла, то его можно вызвать командой CALL. Формат команды выглядит так: CALL имя-бат-файла [параметры запуска].

Параметрами, которые передаются вызываемому командному файлу (файлам), обычно являются символы %1 — %9. Когда команды bat-файлов все последовательно будут пройдены, продолжится выполнение исходного скрипта со следующей строки.

1196205.jpg

Пошаговое выполнение

Бывают случаи, когда команды bat-файлов нужно выполнить пошагово (с остановкой после каждой строчки). Наиболее часто такой режим требуется при отладке или тестировании скриптов. Написание команды выглядит так: COMMAND /y/c имя _скрипта [параметры].

При выполнении на каждую команду будет выдаваться запрос Y или N. Если требуется выполнение команды — жмем клавишу Enter или Y. Если нужно пропустить команду — жмем ESC или N.

1196217.jpg

Отключение и включение вывода команд на экран

Когда запускается bat-файл, команды построчно перед выполнением отображаются на экране и после этого выполняются. Иногда это вызывает неудобство, так как при большом батнике команды длинным списком пробегают перед пользователем на экране, а иногда требуется их показ, например, для диалога или отладки. Чтобы bat-файл команды выводил на дисплей, применяется команда ECHO ON. Для отключения этого режима нужно ввести ECHO с параметром OFF. При этом все исполняемые далее команды показываться на экране уже не будут.

Для отключения вывода только какой-либо одной строки батника на экран можно использовать в самом начале этой строки символ @. Чаще всего этот символ можно встретить в паре с командой @ECHO OFF для исключения вывода ее на дисплей монитора. Такой режим часто используют злоумышленники, создавая на основе bat-файлов вирусы или доставляя мелкие и крупные неприятности пользователям компьютеров.

697440.jpg

Сообщения при исполнении команд

Если после команды ECHO будут расположены символы, отличные от ON или OFF, то они будут выводиться на экран в любом режиме. Если ECHO будет без параметров, то она выдает на экран состояние режима отображения исполняемых команд — включен или выключен.

При желании можно воспроизвести даже звуковой сигнал (писк) компьютера, используя bat-файл. Команды, примеры которых приведены далее, основаны на операторе ECHO с добавлением специальных символов.

Для воспроизведения звукового сигнала нужно вывести стандартный символ с кодом 7. Сделать это можно, нажав клавишу <alt> и «7» на цифровой клавиатуре (с надписью home).</alt>

Для того чтобы повысить удобочитаемость сообщений можно применить команду ECHO с параметром «.» (она ставится сразу за командой без пробела) или специальным символом с кодом 255. На экране это будет выглядеть как пустая строчка.

Команду ECHO можно использовать для вывода сообщений в отдельный файл. Суть ее состоит в перенаправлении вывода сообщений на запись в файл, а не на экран монитора. Для сохранения логов, анкетирования, записи событий можно использовать пакетные файлы bat. Команды вывода имеют следующий формат:

— ECHO-сообщение >> имя файла — команда добавляет строчку в конец существующего файла. Если такого файла в данной директории нет, то создается новый файл.

— ECHO-сообщение > имя файла — этой командой создается новый файл, и в него записывается текущая строчка. В случае наличия такого файла в текущей директории, содержимое его будет удалено и записана команда или ее результат.

Использование комментариев

Для удобства редактирования скриптов используется команда REM. Все находящиеся после нее команды bat-файлов Windows игнорирует при исполнении. Их можно увидеть при редактировании и при пошаговом режиме. Во всех других случаях комментарии на экран выводиться не будут.

1197504.jpg

Команда задержки в bat-файле

Иногда во время выполнения батника возникает необходимость временно остановить исполнение команд, например, для ожидания реакции пользователя, для увеличения времени на прочтение длинного сообщения, для вставки диска, подтверждения присутствия пользователя или для отладки пакетного файла. Команда задержки в bat-файле пишется как PAUSE без параметров. При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры. Если будет нажата комбинация <ctrl>+<break> или <ctrl>+<c>, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы. При нажатии N выполнение будет продолжаться со следующей команды. При паузе нажатие любых других буквенно-цифровых клавиш, а также «Пробел» и «Ввод» выполнение исполняемого файла будет продолжаться со следующей команды.</c></ctrl></break></ctrl>

1196024.jpg

Выполнение команды для списка файлов

Для последовательного исполнения нескольких файлов из списка, находящихся в одной директории, также можно использовать bat-файл. Команды «запуск программы по названию» и «запуск программы по расширению файла» часто могут помочь с автоматизацией обработки документов, например сортировка вложений почты. Отличаются они параметрами для команды FOR. Формат написания ее приведен ниже:

— FOR %x IN (список файлов) DO команда, где:

— х — любой символ, за исключением цифр от 0 до 9;

— список — разделенные пробелами имена файлов или название одного файла; при этом можно использовать спецсимволы «?» и «*» для замены от одного до нескольких знаков в названии файлов;

— команда — любая DOS-команда или программа, кроме FOR; если есть необходимость использования FOR, то вместо %x нужно указать %%x.

1196206.jpg

При использовании этой команды для написания bat-файлов нужно учитывать, что имена в программах формата DOS имеют ограничение по длине названия. Для того чтобы произвести переключение команды FOR на работу с длинными именами файлов, нужно не забыть перед ней запустить команду LFNFOR ON для включения режима работы с длинными именами и LFNFOR OFF для его отключения и возврата к стандартной длине файлов.

Многие функции с программами, такие как сравнение файлов с определенными типами расширений, находящихся в одной директории, с файлами тех же типов из другой директории, копирование всех файлов текущего каталога в другой, последовательное исполнение файлов с расширениями определенного типа и названиями, начинающимися с цифр, можно осуществить с помощью всего лишь одной вписанной в bat-файл команды. Запуск программы можно комбинировать с запросами пользователя, что способствует повышению удобства работы с данными.

1196211.jpg

Переходы в bat-файлах

Команда перехода имеет написание GOTO с названием метки через пробел. Если параметра нет или название метки в командном файле не обнаружено, то работа скрипта на этой команде прекращается. Пример:

GOTO zzz

:zzz

REM (запускаются требуемые команды).

В этом примере последовательное исполнение командного файла, дойдя до GOTO zzz, переходит на метку :zzz и продолжается с REM, игнорируя все, что находится между командой перехода и указанной меткой.

1196209.jpg

Использование условий при работе с bat-файлами

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

Условие представляет собой различные варианты выражений:

— ERRORLEVEL число — в том случае, когда предыдущая выполняемая программа закончилась с кодом завершения, равным указанному числовому значению или больше него, условие будет истинным.

— СТРОКА 1 == СТРОКА 2 — в случае полного совпадения строк условие становится истинным. Вместо строк можно подставить символы %0 — %9, тогда будут сравниваться параметры командного файла.

— EXIST — имя файла — если указанный файл существует, то условие истинное.

— NOT — условие — если указанное условие ложное, то на выходе команды получим истинное значение.

1196216.jpg

Применяемые команды в bat-файлах

Если нажать кнопку «Пуск» и запустить командную строку (cmd), то можно посмотреть все вставляемые в bat-файл команды. CMD-режим можно использовать как средство для отладки, как помощника, программу для получения сведений о командах. Для этого просто можно набрать HELP. При этом выдается список команд с краткими описаниями к ним. Для получения более детальной информации можно ввести HELP с названием нужной команды.

Использование bat-файлов при резервном копировании данных

Командные файлы сильно упрощают жизнь системным администраторам при осуществлении повседневной работы. Наиболее распространенной сферой их применения являются резервное копирование, создание, удаление, переименование и многое другое. Все это основано на использовании команды bat-файла COPY. К примеру, можно создать программу, которая делает архивные копии документов из выбранной папки с пользовательскими данными определенных форматов, исключив, допустим, медиафайлы большого объема, обеспечив резервирование в папке с именем пользователя и текущей датой, и назвать ее «Команда_копирования_файлов.bat». После этого необходимо обеспечить ее запуск в определенное время с помощью встроенного планировщика или силами самой программы и тем самым обеспечить сохранность данных пользователя.

Автозагрузка батника от имени администратора

В редактор реестра, запущенный из батника от имени Администратора, не передаётся путь к reg-файлуМоя программа, запущенная от Администратора, по щелчку исполняет батник – вот его код: @cd/d.

Автозагрузка с автоматическим перезапуском батника при закрытииХочу подколоть друга, создать бат файл и засунуть его в автозагрузку. Например чтобы при включении.

Запуск с правами администратора одного батника из другогов общем есть такая штука: @ECHO OFF mode con lines=1024 title TestTitle echo Start 1 start.

Создание батника, открывающего командную строку с правами администратораХочу создать батник который открывает командную строку с правами администратора, сделал так: .

Решение

Рад, что сумел помочь.

bioz00, отметь как лучший ответ

Галочка будет доступна, если создать ярлык на батник.

Хе-хе. Автоматически это только с помощью варианта, как указал Matias. Там рабочую папку также можно указать (в том же окне свойств, где и объект запуска).

Добавлено через 4 минутыНе, ну есть и второй вариант – написать свою службу. или одолжить у друга -) Видал недавно такой гейт с иходниками на гитхабе. Сидит в трее и можно настроить на запуск без UAC указанной проги. Не помню правда, как называется (на стаковерфлоу обсуждение было).

Если речь идёт о теме “Запуск скрипта с повышенными привилегиями [руководство]”, то ни один из 3-ёх вариантов у меня не сработал.

Вариант с планировщиком мне не подходит. Есть несколько bat-скриптов для выполнения рутиной работы, например: переключения сетевых адаптеров. Запуск происходит через приложение “выполнить” [win] + [R], путём ввода адреса к скрипту (или псевдонима приложения).

По поводу учётной записи могу ошибиться, но в UAC указана учётная запись администратора. Если запустить cmd.exe от имени администратора и ввести путь к скрипту, то всё работает.

этот вариант также указан в теме “Запуск скрипта с повышенными привилегиями [руководство]”, – как я уже говорил, – вариант не работает.

ситуация такая.. если я скажем хочу запустить какое-нибудь ПО, скажем cmd.exe, то метод с ярлыком срабатывает! А вот если я кликаю по bat-нику и в списке выбираю “Запуск от имени администратора” то запускается окно со скриптом и сразу же закрывается. Тоже самое и если сделать ярлык с опцией “запускать от имени администратора”.

Заранее скажу:что сами скрипты рабочие. Без привелегий админа отрабатывает полностью, а на командах где требуются права админа, просто выдают соответствующее сообщение.

Источник

Запуск Bat при входе в систему определенного пользователя

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

Bat-файл лежит (c:Program Files (x86)Anvil Studio 2012StartAll.bat)

Что и куда нужно прописать??

Заранее благодарю всех!

Создание задания (планировщик) при входе в систему через schtasks от пользователяКак через schtasks создать задание на запуск, например calc.exe, при входе в систему с правами.

Запуск программы от имени определённого пользователяДоброго времени суток, Буду краток, машина в домене – параметры заданы не мной, отработка команды.

Не отображать плитку пользователей при входе в системуWindows 7. Несколько локальных юзеров. Как сделать, чтобы при входе в систему отображалась не.

Запуск bat-файла для копирования определённого файла по сети из Планировщика заданийДобрый день, Имеется в наличии скрипт на копирование файла по сети. net use Y.

Вот посмотри по порядку шесть скринов

7. Жму Win+L (выхожу из системы), дальше набираю пароль (вхожу в систему) – и ничего не происходит. А должен сработать батник.

Да ни хрена. Создавал задачу вручную.

Добавлено через 12 минутКороче, работает только при перезагрузке и старте системы. А в идеале хотелось бы чтобы при каждом входе в систему. Что не так?

Решение

попробую. Отпишу позже!

Добавлено через 1 час 19 минутЗнаете что помогло?

Пункт: “При разблокировании рабочей станции”

Вопрос решен! Спасибо огромное!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Источник

Как создать пакетный файл BAT для выполнения в командной строке CMD

Batch (.bat) файл — это инструмент, который сэкономит вам не один десяток часов рабочего времени. Узнайте сейчас как использовать пакетный файл на практике.

Пакетный (BAT, batch) файл представляет собой инструмент, с которым сталкивался практически каждый пользователь Windows. Документ помогает выполнить ряд действий буквально парой кликов, а их список ограничивается лишь силой воображения и кодовым функционалом. Давайте разберем инструмент подробнее.

Что такое BAT файл?

Вы, должно быть, уже в курсе о существовании такой утилиты как “Командная строка” Windows, или CMD. Она работает путем ввода команд в качестве входных данных и обрабатывает их, проводя нужные операции с компьютером. Тем не менее, несмотря на всю полезность инструмента, командная строка устраивает далеко не всех. Сложность утилиты и высокий порог вхождения делают ее “последним средством спасения Windows”.

Чтобы упростить процесс работы и сделать его более быстрым, Microsoft ввели посредника между “человеком” и “машиной”. Этим посредником стал пакетный файл (batch file). Запущенный на компьютере документ автоматически выполняет команды в CMD, ограждая пользователя от собственноручной работы. Процесс автоматизации назван пакетным сценарием (batch script).

Доступные форматы BAT файла:

Вне зависимости от того какой формат выбран при создании документа, функции от этого не изменятся.

В чем польза BAT файла?

Автоматизация. Если раньше вам приходилось долго и нудно “вбивать” сложные коды в окно командной строки, пришло время расслабиться! BAT файл экономит время пользователя не только при работе с CMD, но и при взаимодействии с другими системами ПК. Например, вы можете запланировать выключение компьютера через определенный промежуток времени. Этот способ применения пакетного файла хорошо подойдет геймерам, ставящим установку игру на ночь. Запланируйте отключение системы к моменту завершения установки и не опасайтесь за перерасход электроэнергии.

Если же вы разработчик программного обеспечения, обратите внимание на возможность автоматизации при установке вашего приложения. Таким образом повысится не только удобство для конечного пользователя, но популярность вашего софта.

При создании BAT файла используется петля (for), условный оператор (if) и оператор управления (goto). Документ запускается либо с помощью командной строки, либо с помощью другого пакетного файла при использовании команды CALL.

Режимы BAT файла

Несмотря на то, что пакетный файл по умолчанию выполняет работу автоматически, вы можете настроить его так, что при выполнении конкретной операции он будет запрашивать подтверждение. Например, при вводе команды на отключение службы Windows, BAT файл спросит вас, уверены ли вы в своем решении. Этот режим называется интерактивным (interactive).

Другой режим называется пакетным (batch mode). Он работает в классическом стиле и самостоятельно выполняет запрограммированные функции.

Режимы пакетного файла:

  • Интерактивный.Полуавтоматический режим. Программа может запрашивать подтверждение операций.
  • Пакетный.Полная автоматизация работы.

Используйте разные режимы в зависимости от ситуации.

Как запустить BAT файл в Windows 10?

Основной способ запуска пакетного файла — двойной щелчок по его иконке. Тем не менее, вы можете его и открыть и другим методом — с помощью командной строки.

Чтобы открыть BAT файл с помощью командной строки, выполните следующее:

  • Откройте директорию в которой лежит пакетный файл.
  • Определите название файла.
  • Откройте командную строку.
  • Введите название документа с его расширением.Например: HelloWorld.bat

Способ запуска через командную строку приобретает ценность с ростом количества пакетных файлов. Если вы помните название и расширение нужного документа, вы откроете его даже когда забыли точную директорию.

Как создать BAT файл?

Эта тема разбита на 2 раздела, каждый из которых — ключевой при создании пакетного документа. Не зная основ и команд, нужных для формирования структуры, автоматизировать процесс работы невозможно.

Основы создания BAT файлов

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

  • titleИспользуется для создания заголовка. Отображается в верхней части окна командной строки.
  • echoРежим вывода команд на экран. При включении, командная строка выведет на экран сообщение о совершенном действии. При отключении, соответственно, сообщения пропадут. Обратите внимание, что вам придется контролировать статус echo . Если команда активирована на строке 2 и вы решили отключить ее на строке 22, 20 промежуточных строк будут содержать включенный режим вывода команд.
  • pauseИспользуется для остановки процесса.
  • exitПозволяет закрыть командную строку.
  • clsИспользуется для очистки окна командной строки.
  • ::Позволяет добавить комментарий к действию пакетного файла. Команда является пассивной и не влияет на общую работу документа.

Представленные выше команды — базовые и присутствуют во всех версиях Windows. Дополнительные команды появляются при установке соответствующего программного обеспечения. Например, если вы хотите автоматизировать задачи браузера Google Chrome, введите соответствующий код под названием chrome .

Используя эту информацию как фундамент для создания BAT файлов, вы можете автоматизировать любой процесс на ПК.

Руководство по созданию BAT файла

В этом разделе мы рассмотрим алгоритм создания пакетного файла, который подойдет для Windows 10, Windows 8.1, Windows 7 и даже для Windows XP.

1. Откройте Блокнот . При желании, воспользуйтесь альтернативой стандартному приложению — Notepad++ .

2. С помощью команду echo off временно отключите комментарии, чтобы не засорять окно.

3. Введите заголовок title My First Bat File .

4. Добавьте комментарий This comment will not appear in the command prompt.Следует отметить, что по умолчанию в командной строке отображается только английский язык. Тем не менее, комментарий может быть на любом другом. Он не будет отображаться в CMD и останется только в блокноте. Комментарий — ваша личная заметка, чтобы не потеряться в коде.

5. Введите команду echo Test file executed .

6. Далее введите I am too lazy to write commands by myself .

7. И, наконец, команда paust , чтобы обозначить завершение процесса.

8. Сохраните документ, изменив формат с .txt на .bat .

Источник

Используемые источники:

  • https://www.white-windows.ru/bat-2-exe-i-bat-to-exe-ili-kak-sozdat-iz-bat-skripta-ispolnyaemyj-exe-fajl/
  • https://fb.ru/article/239600/komandyi-bat-faylov-windows
  • https://a174.ru/zapusk-bat-pri-starte-windows/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации