Создание BAT файлов
Люди, которым знаком термин батник , знают, что BAT файлы могут существенно упростить жизнь и экономить время, если уметь их правильно писать и использовать. В этой статье я расскажу о том, как создавать BAT файлы и познакомлю вас с распространенными ошибками, которые обычно возникают при их написании.
Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat , выбрав опцию Сохранить как. и написав в поле Имя файла что-нибудь оканчивающееся на .bat , например test.bat .
Тип файла указываете как на скриншоте ниже — Все файлы . Сохраняете и получаете BAT файл.
Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.
Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах? . В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки . И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почему — почему не верен и почему некоторые будут .
На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск . Одной из таких программ является Firefox:
Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:
Обозреватель откроется, чтобы не было написано после start firefox . Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка
работать не будет. Чтобы запустить неизвестную системе программу, надо указать к ней путь:
Длинныe имена в bat-файлах
Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы — использование короткого имени.
В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа
. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:
Если рядом будут присутствовать две папки, например Sound Club и Sound Clown , то следуя правилам, в примере выше надо будет указать SoundC
2 , так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).
Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:
Короткими именами для них будут
А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами — не наш способ.
Пробелы и кавычки в bat-файлах
Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:
Так команда не сработает, поскольку если посмотреть справку по ней ( start /? ), то в справке вы увидите следующее:
Как видите, первым параметром идёт заголовок окна и он как раз в кавычках. Этот параметр необязательный, но его всё же советуют указывать (например, тут), чтобы избежать ошибок при выполнении команды. Внутри кавычек можно ничего не писать. Получится так:
Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:
Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd . Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу ( start ):
Я думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ — вандальный, а второй смотрите ниже.
В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.
Запуск приложений из bat-файла
В первой части статьи я в общих чертах рассказал о BAT файлах. Теперь стало понятно — что это такое и с чем его едят. Во второй части речь пойдет уже о более конкретных вещах. Например, о том, как при помощи BAT файла запустить несколько приложений с определенными настройками или в автоматическом режиме установить программу, чтобы не тратить время на ответы типа Вы согласны с условиями лицензионного соглашения? и не нажимать лишние кнопки.
Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый — это короткая команда на запуск установленной в системе программы.
Это не всегда работает. Поэтому такой прием можно вполне применять на какой-то конкретной системе, но в качестве универсального решения он не подходит. Если есть цель заставить работать BAT файл везде и всегда, нужно пользоваться полными путями:
Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:
Запуск программ в bat-файлах с параметрами (ключами)
Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:
Скомандовать в данном случае — значит указать ключ. Ключ указывается через слэш после основной команды ( команда /ключ ). Основной командой в данном случае является start . Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start , а не к программам, которые эта команда запускает.
Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки ( /? или /help ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте + R , вводите cmd , далее Enter ) и набираете в консоли следующее:
Консоль выведет на экран перечень допустимых ключей c комментариями для команды start .
Обратите внимание на ключ /wait . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды — на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ /wait:
Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой Sleep. В нужном месте BAT файла пишете следующую команду (число — количество секунд):
С помощью ключей можно делать многое. Есть возможность устанавливать приложения в тихом режиме. Для этого используется несколько ключей в зависимости от типа инсталятора, применяющегося для установки программы на компьютер:
В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утка , так как этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе — тоже. И Avast не исключение. Просто создаете в папке с Avast’ом BAT файл с содержанием
запускаете его и программа устанавливается на компьютер практически без вашего участия. Таким образом можно написать целый список программ для тихой установки и сэкономить время, например, на переустановке системы. В статье про тихую установку можно получить более подробную информацию по ключам.
Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:
Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.
Но важно помнить: всё, что касается выполнения запускаемой в батнике программы, пишется с ней в одной строке.
В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата .exe — Bat_To_Exe_Converter. BAT файл — это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe’шник, оформив его любой иконкой на ваш выбор.
Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter
Создание EXE файла
EXE является форматом, без которого не обходится ни одно программное обеспечение. Им выполняются все процессы запуска или установки программ. Он может представлять собой как полноценное приложение, так и быть его частью.
Способы создания
Существует два варианта создания EXE файла. Первый — это использование сред для программирования, а второй — применение специальных инсталляторов, при помощи которых создаются разные «репаки» и пакеты, устанавливаемые в один клик. Далее на примерах рассмотрим оба варианта.
Способ 1: Visual Studio Community
Рассмотрим процесс создания простой программы на основе языка программирования «Visual С++» и ее компиляции в Visual Studio Community.
- Запускаем приложение, заходим в меню «Файл», после чего жмем по пункту «Создать», а затем в открывшемся перечне на «Проект».
Открывается окно «Создание проекта», в котором нужно кликнуть сначала по надписи «Шаблоны», а потом «Visual С++». Далее выбираем «Консольное приложение Win32», задаем наименование и местоположение проекта. По умолчанию он сохраняется в рабочей директории Вижуал Студио Коммьюнити, в системной папке «Мои документы», но по желанию возможно выбрать другой каталог. По завершении настроек щелкаем «ОК».
В следующем окне определяем параметры приложения. В частности, выбираем «Консольное приложение», а в поле «Дополнительные параметры» – «Пустой проект», сняв при этом галочку с «Предварительно скомпилированный заголовок».
Запускается проект, в котором нужно добавить область для записи кода. Для этого во вкладке «Обозреватель решений» жмем правой кнопкой мыши по надписи «Файлы ресурсов». Появляется контекстное меню, в котором последовательно кликаем на «Добавить» и «Создать элемент».
В открывшемся окошке «Добавить новый элемент» выбираем пункт «Файл С++». Далее задаем имя файла кода будущего приложения и его расширение «.с». Для изменения папки хранения нажимаем на «Обзор».
В результате появляется вкладка с заголовком «Source.с», в которой происходит набор и редактирование текста кода.
Далее необходимо скопировать текст кода и вставить в показанную на изображении область. В качестве примера возьмем следующее:
int main(int argc, char* argv[]) <
printf(«Hello, World!»);
_getch();
return 0;
>
Примечание: Текст кода выше — это просто пример. Вместо него необходимо использовать собственный код для создания программы на языке «Visual С++».
После чего выскакивает уведомление, предупреждающее о том, что текущий проект устарел. Здесь необходимо нажать на «Да».
По завершении компиляции приложение выводит окно консоли, в котором будет написано «Hello, World!».
Способ 2: Инсталляторы
Для автоматизации процесса установки ПО все более широкую популярность завоевывают так называемые инсталляторы. С их помощью создается софт, основной задачей которого является упрощение процесса развертывания ПО на компьютере. Рассмотрим процесс создания EXE файла на примере Smart Install Maker.
- Запускаем программу и во вкладке «Информация» редактируем наименование будущего приложения. В поле «Сохранить как» нажимаем по значку папки для определения местоположения, куда будет сохранен выходной файл.
Открывается Проводник, в котором выбираем желаемое расположение и кликаем «Сохранить».
Переходим во вкладку «Файлы», где необходимо добавить файлы, из которых будет потом собран пакет. Это осуществляется путем нажатия на пиктограмму «+» в нижней части интерфейса. Возможно также добавить целую директорию, для чего надо нажать на значок, на котором изображена папка с плюсом.
Далее открывается окно выбора файлов, где нужно щелкнуть на значок в виде папки.
В открывшемся обозревателе обозначаем нужное приложение (в нашем случае — это «Torrent», у вас же может быть любой другой) и кликаем на «Открыть».
В результате в окне «Добавить запись» отображается файл с указанием пути его расположения. Остальные опции оставляем по умолчанию и жмем «ОК».
Происходит процедура добавления исходного объекта в приложение и в специальной области софта появляется соответствующая запись.
Далее нажимаем «Требования» и открывается вкладка, где нужно отметить список поддерживаемых операционных систем. Оставляем галочки на полях «Windows XP» и все, что идут ниже нее. На всех остальных полях оставляем рекомендуемые значения.
Затем открываем вкладку «Диалоги», кликнув по соответствующей надписи в левой части интерфейса. Здесь все оставляем по умолчанию. Для того чтобы инсталляция проходила в фоновом режиме, можно выставить галочку в поле «Скрытая установка».
По окончании всех настроек запускаем компиляцию, нажав на пиктограмму со стрелкой вниз.
Происходит указанный процесс и в окошке выводится его текущий статус. По завершении компиляции можно провести тестирование созданного пакета или вовсе закрыть окно, щелкнув соответствующие кнопки.
Таким образом, в данной статье мы выяснили, что EXE файл может создаваться как при помощи специализированных сред разработки программ, например Visual Studio Community, так и специальными инсталляторами, к примеру, Smart Install Maker.