Как настроить смартфоны и ПК. Информационный портал

Выполняется bat файл. Создание BAT файлов

Люди, которым знаком термин батник, знают, что BAT файлы могут существенно упростить жизнь и экономить время, если уметь их правильно писать и использовать. В этой статье я расскажу о том, как создавать BAT файлы и познакомлю вас с распространенными ошибками, которые обычно возникают при их написании.

Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat , выбрав опцию Сохранить как... и написав в поле Имя файла что-нибудь оканчивающееся на .bat , например test.bat .
Тип файла указываете как на скриншоте ниже - Все файлы . Сохраняете и получаете BAT файл.

Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.

Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах? . В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки. И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почему - почему не верен и почему некоторые будут.

На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск. Одной из таких программ является Firefox:

start firefox

Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:

start firefox C:\Program Files\Mozilla Firefox\firefox.exe

Обозреватель откроется, чтобы не было написано после start firefox . Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка

start filezilla

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

start D:\FileZilla\FileZilla.exe

Длинныe имена в bat-файлах

Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы - использование короткого имени.

start C:\Program Files\Sound Club\scw.exe

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~ . Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:

Program Files - Progra~1 Sound Club - SoundC~1 start C:\Progra~1 \SoundC~1 \scw.exe

Если рядом будут присутствовать две папки, например Sound Club и Sound Clown , то следуя правилам, в примере выше надо будет указать SoundC~2 , так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Короткими именами для них будут

Mozill~1 Mozill~2 Mozill~3

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами - не наш способ.

Пробелы и кавычки в bat-файлах

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

start "C:\Program Files\Sound Club\scw.exe"

Так команда не сработает, поскольку если посмотреть справку по ней (start /? ), то в справке вы увидите следующее:

START ["заголовок"] [команда/программа] [параметры]

Как видите, первым параметром идёт заголовок окна и он как раз в кавычках. Этот параметр необязательный, но его всё же советуют указывать (), чтобы избежать ошибок при выполнении команды. Внутри кавычек можно ничего не писать. Получится так:

start "" "C:\Program Files\Sound Club\scw.exe"

Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:

start C:\"Program Files"\"Sound Club"\scw.exe

Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd . Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу (start ):

%SystemDrive% cd \Program Files\Sound Club\ start scw.exe

Я думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ - вандальный, а второй смотрите ниже.

start firefox start jetaudio rem start defraggler

В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.

start firefox start jetaudio rem start defraggler exit

Запуск приложений из bat-файла

В первой части статьи я в общих чертах рассказал о BAT файлах. Теперь стало понятно - что это такое и с чем его едят. Во второй части речь пойдет уже о более конкретных вещах. Например, о том, как при помощи BAT файла запустить несколько приложений с определенными настройками или в автоматическом режиме установить программу, чтобы не тратить время на ответы типа Вы согласны с условиями лицензионного соглашения? и не нажимать лишние кнопки.

Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый - это короткая команда на запуск установленной в системе программы.

start firefox

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

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe

Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe exit

Запуск программ в bat-файлах с параметрами (ключами)

Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:

start /min D:\FileZilla\FileZilla.exe exit

Скомандовать в данном случае - значит указать ключ. Ключ указывается через слэш после основной команды (команда /ключ ). Основной командой в данном случае является start . Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start , а не к программам, которые эта команда запускает.

Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки (/? или /help ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте + R , вводите cmd , далее Enter ) и набираете в консоли следующее:

start /?

Консоль выведет на экран перечень допустимых ключей c комментариями для команды start .

Обратите внимание на ключ /wait . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды - на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ /wait :

Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой . В нужном месте BAT файла пишете следующую команду (число - количество секунд):

start Sleep.exe 15

С помощью ключей можно делать многое. Есть возможность устанавливать приложения . Для этого используется несколько ключей в зависимости от типа инсталятора, применяющегося для установки программы на компьютер:

/S /s /q /silent и ряд других

В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утка, так как этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе - тоже. И Avast не исключение. Просто создаете в папке с Avast"ом BAT файл с содержанием

start avast.exe /S exit

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

Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:

rem соединение с ftp-сервером start /min D:\FileZilla\FileZilla.exe "ftp://логин:пароль@сервер" rem открытие index.php в Firefox start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php" rem открытие start.html в текстовом редакторе start /min C:\"Program Files"\текстовой_редактор.exe "E:\сервер\папка_сайта\index.html" rem открытие папки с файлами сайта start /min E:\сервер\папка_с_сайтом rem выход из консоли exit

Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.

start /min /wait program.exe /m /S start C:\Directory\program2.exe "C:\Files\file.odt" exit

Но важно помнить: всё, что касается выполнения запускаемой в батнике программы, пишется с ней в одной строке.

start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"

В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата .exe - . BAT файл - это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe"шник, оформив его любой иконкой на ваш выбор.

Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter

Вы хотите продлить жизнь своего компьютера? Тогда для экономии системных ресурсов создавайте различные полезные программы и утилиты. Запустить их вы можете при помощи только одного командного файла.


Пользователи компьютеров с операционной системой Windows часто сталкиваются с файлами, которые имеют расширение.bat. Это так называемые командные файлы. Для чего они предназначены, как создаются и модифицируются, какие проблемы бывают у пользователей при работе с пакетными файлами?

Что такое bat-файл? Для чего он нужен

Bat файл – это текстовый файл с определённым набором символов, которые вводятся в командную строку. Запустив всего один файл, пользователь экономит время на выполнение большого количества действий. Такие файлы применяются для автоматизации часто повторяющих действий пользователя. Файл с расширением.bat называется пакетным (командным). На сленге пользователей он называется «батник».

Примеры bat-файлов

Существует множество полезных bat файлов, с помощью которых можно осуществлять управление системой компьютера, запуска вирусов, хищение персональных данных.
Примеры некоторых популярных исполняемых файлов:
  • Удаление пустых папок и подпапок на компьютере с места запуска файла - for /f «usebackq delims=» %%d in (`«dir /ad/b/s | sort /R»`) do rd "%%d"
  • Помните! При наличии в папке скрытых файлов с расширениями.db или.ini удаление папки невозможно.
  • Перенос информационных файлов в подпапки с указанием даты операции – SET FOLDER=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%
    SET ARCFOLDER=Z:\_exchange\%FOLDER%mkdir %ARCFOLDER%
  • Программирование задержки последующих команд на необходимое время – choice /N /T:y,%сек% > nul
  • Запуск файла в свёрнутом окне - start /m /w %путь\файл%
Тысячи различных bat файлов помогают программистам и пользователям общаться с компьютером, находить выходы из самых разнообразных ситуаций, очищать систему от вирусов и вредоносных кодов. Процесс написания скриптов для пакетных файлов целиком и полностью зависит от фантазии пользователей.

Как открыть файл с расширением bat

Осуществив запуск подобного файла, можно открывать и закрывать множество программ. Некоторые из них не используются в более поздних версиях Windows.
Примеры задач, которые решаются с помощью запуска файла.bat:
1. Активизация одной или нескольких утилит, выполняющих функции внутри системы – таймер включения и отключения компьютера, автоматическое освобождение буфера обмена от устаревшей информации, организация точек доступа для Wi-Fi. Первой выполняется команда start "" путь_к_программе. При наличии пробелов необходимо заключить путь в кавычки start "" «C:\Program Files\program.exe».
Далее следует указать параметры запуска start "" c:\windows\notepad.exe file.txt. В процессе запуска есть одна особенность. Если не использовать при указании имени командного файла сдвоенные кавычки, то выполнение команд может происходить неправильно.
2. Из уже открытого файла можно запустить ещё один, набрав команду call путь_к_файлу_bat параметры. Сведения о них находятся в другом bat файле: call file2.bat параметр1 параметр2 параметр3.
Для активации прочих программ используются следующие команды:
  • echo %1
  • echo %2
  • echo %3
  • pause
После всех осуществлённых операций на дисплее появляются все переданные параметры. Если не введен другой порядок операций, командное окно автоматически закрывается. Команда pause останавливает работу программы и закрывает операционное окно.

Как создать bat-файл в Windows? Последовательность действий

Наиболее простой способ создания bat файла – использование программы Блокнот (NotePad). После активации программы из панели «Стандартные» или при помощи команды C:\Windows\notepad.exe на страницу блокнота вносится или копируется код.

В блокноте NotePad файл должен храниться с расширением.bat. Необходимо тщательно проконтролировать, чтобы сохраняемый файл имел тип «Все файлы».


Важно! Если невозможно сохранить bat файл в определённой папке из-за отсутствия у пользователя прав администратора, на дисплее компьютера высвечивается сообщение «У вас нет разрешения на сохранение файлов в этом месте». Смените месторасположение файла на «Рабочий стол» или «Документы». После этого с помощью копирования перенесите его в нужное место на компьютере. Файл.bat создан.

Можно ли изменять bat-файл

Для изменения различных параметров файлы с расширением.bat можно редактировать. Этого можно достичь несколькими способами.
Первый. Открыть контекстное меню и выбрать команду Изменить. Необходимые правки вносятся в файл в любом текстовом редакторе, установленном на компьютер.


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


Третий. Зайти в Блокнот, в меню «Файл» найти искомую папку с пакетным файлом.


Далее – изменить опцию показа фалов так, чтобы было активно «Все фалы». После этого можно открывать файл и редактировать, меняя нужные параметры и команды.


Помните! При использовании любого из вышеуказанных способов редактирования конечный файл необходимо обязательно сохранить с применением расширения «Все файлы». В противном случае компьютер сохранит модифицированный файл как текстовый - *.txt.

Нужно запустить bat-файл от имени администратора

Для запуска файла от имени администратора необходимо сделать правый клик по имени и выполнить команду «Запустить от имени администратора».

Есть несколько иных способов запуска командного файла.
1. После нажатия кнопки ПУСК (WIN или комбинация Ctrl+Shift+Esc) необходимо:
  • переключиться на латиницу и набрать на клавиатуре команду.bat.
  • выбрать исполняемый файл *.exe.
  • запустить файл командой «Запуск от имени администратора»
2. Открыть диспетчер задач (Ctrl + Shift + Esc или Ctrl + Alt + Delete), на вкладке «Процессы» выбрать команду «Отображать процессы всех пользователей». В меню «Файл» комбинацией клавиш Ctrl + Клик левой кликнуть на вкладку «Новая задача», затем нажать Выполнить.
3. При включённом отображении типов файлов можно создать файл *.txt, назвать его по своему усмотрению и сменить расширение на.bat.

Почему bat-файл не запускается? Возможные причины

Наиболее вероятные причины отсутствия реакции ЭВМ на исполнение командного файла с расширением.bat или некорректной его работы после запуска:
  • неправильное прописывание команд в скриптах
  • некорректное использование знаков препинания
В большинстве случаев это происходит при неосторожной смене раскладки клавиатуры с латинской на русскую. Командные файлы не воспринимают кириллицу. Те места, где в скрипте появляется русский шрифт, для ЭВМ непонятны. Вполне естественно, меняется путь исполнения bat файла.

Как создать файл с расширением bat: видео

Видеоурок по созданию файла с расширением.bat смотрите здесь:

В данной статейки мы рассмотрим такую полезную вещь как «батник ». Давайте сначала дадим определение, что такое bat файл. Пакетные или batch файлы - это простые текстовые файлы, содержащие наборы команд (инструкцию ) интерпретатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT ). Создавать и редактировать такие файлы можно при помощи обычного блокнота или любого другого текстового редактора.

Теперь Вы спросите, зачем нужно уметь писать такие бат файлы? И зачем они нужны? Попытаюсь объяснить.

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

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

Теперь перейдем непосредственно к основам этих батников. Как же они создаются, Вам нужно просто создать простой текстовый документ открыть его и сразу на вкладке «Файл->сохранить как », вписать вместо расширения «Текстовый документ.txt », например «Текстовый документ.bat » и сохранить, вот и получится у нас батник с расширением.bat, но он пока ничего не делает.

Для начала я приведу пример батника, который я использую у себя на работе для архивации документов.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.txt

Теперь немного расскажу, что делает этот батник. Запускается WinRar, потом идут команды винрара:

  • a - это добавить в архив;
  • -r - обрабатывать вложенные папки;
  • -dh - открывать совместно используемые файлы;
  • -ed - не добавлять пустые папки;
  • YYYY-mm-dd - добавляем к имени архива текущую дату (формат даты );
  • E:\arhaccounts\ - путь, где будет лежать конечный архив;
  • d:\accounts\*.doc - путь и маска файлов, какие нужно заархивировать.

В данном случае мы архивируем все документы Word, Excel и текстовые файлы, архивировать остальные нам не требуется. У нас архивация идет на другой диск, и мы еще копируем полученный архив на другой компьютер, для того чтобы архивы хранились и в другом кабинете. Копирование идет по сети соответственно компьютер, на который копируется архив, должен быть включен. Для этого можно использовать такую команду:

Copy E:\arhaccounts\*.rar \\namecomp\arhiv\

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

Теперь рассмотрим основные команды, которые Вы можете использовать.

Если Вам нужно удалить файл пропишите следующие:

Del d:\file\test.doc


Для того чтобы удалить весь каталог пропишите:

Rd d:\file\

Вдруг Вам нужно удалять каждый раз все из какого-нибудь каталога, то используйте вот что:

Echo Y| del d:\file\

  • del d:\file\ - это как раз и есть удаление всех файлов;
  • echo Y| - команда подтверждает удаление т.к. если не прописать эту команду, то Вы увидите сообщение о подтверждение удаления – «Продолжить », и Вам нужно будет каждый раз отвечать на этот вопрос.

Сейчас давайте рассмотрим пример посложней, в котором уже выполняется условие:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test IF not EXIST d:\test\123.rar GOTO 1 IF EXIST d:\test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end

Теперь объясняю, допустим, Вам нужно разархивировать архив test.rar, в котором будет много файлов, но если там окажется файл 123.rar его нужно будет разархивировать в корень диска C, а остальные файлы чтобы остались в том же каталоге не тронутыми.

По порядку, команда @echo off нужна, для того чтобы на экране у нас ничего не отражалось (в принципе, если не нужно можете не писать эту строку ). Далее у нас запускается винрар и распаковывает архив test.rar в папку test. Затем идет условие, если в папке test (после распаковки test.rar ) у нас не окажется файла 123.rar, то у нас просто выполнение батника переходит к строке:1 и потом просто удаляется файл test.rar за не надобностью т.к. все что нам нужно мы уже распаковали. Но если там оказывается файл 123.rar, то выполнение батника переходит к строке:2, после которой уже идет распаковка файла 123.rar в корень диска C. Другими словами у нас выполняется условие, если есть файл то делать это, если нет файла, делать вот это. Допустим, если не прописать условие в данном примере, то у нас батник выдаст ошибку, тогда когда у нас не окажется файла 123.rar в данной папке.

А сейчас рассмотрим такой пример, допустим, Вам нужно каждый раз перемещать из каталога расположенного на диске D файлы на флешку. Вы каждый раз должны будете заходить мой компьютер диск D, выбирать нужную папку, выделять все файлы из нее и вырезать, а потом только заходить на флешку и вставлять. С помощью батника это делается в один клик (с одним условием, что флешка каждый раз будет, например диском G или тем какой у Вас ). Вот пример такого батника:

Move "D:\catalog\*.doc" G:\catalognaflehe\

И все файлы с расширением doc, которые находятся в каталоге D:\catalog будут перемещаться на флешку. Теперь хочу сказать, что в батниках можно использовать сценарии (скрипты ) при помощи Windows Scripting Host и если нужно, например чтобы выводилось сообщение, после того как файлы скопированы (предыдущий пример ) вставьте вот это:

Echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Файлы Скопированы"); >> %temp%\mes.js start %temp%\mes.js deltree /y %temp%\mes.js

На самом деле про написание батников можно разговаривать много и в одну статью это, конечно же, не уместить, здесь я показал всего лишь принципы, которые используются при написании bat файлов, так сказать основу. Если Вы хотите узнать больше команд для написания батников, Вы можете легко посмотреть их, набрав в командной строке (Пуск - Выполнить – cmd ) команду help, но там, конечно же, не все команды, что можно использовать в батниках. Удачи в написание BAT файлов (батников ).

Продолжение темы в статье -

Люди, которым знаком термин батник, знают, что BAT файлы могут существенно упростить жизнь и экономить время, если уметь их правильно писать и использовать. В этой статье я расскажу о том, как создавать BAT файлы и познакомлю вас с распространенными ошибками, которые обычно возникают при их написании.

Создать BAT файл очень просто. Достаточно открыть блокнот и сохранить пустой лист с расширением .bat , выбрав опцию Сохранить как... и написав в поле Имя файла что-нибудь оканчивающееся на .bat , например test.bat .
Тип файла указываете как на скриншоте ниже - Все файлы . Сохраняете и получаете BAT файл.

Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.

Теперь перейдем непосредственно к практической информации. В сети многие ищут ответ на вопрос Как быть с пробелами в BAT файлах? . В путях к папкам и исполняемым файлам наличие пробела вызывает ошибку. Самый распространенный ответ: Заключи путь в кавычки. И этот ответ не верен. Правда некоторые будут с пеной у рта утверждать, что он работает. Итак, появилось два почему - почему не верен и почему некоторые будут.

На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск. Одной из таких программ является Firefox:

start firefox

Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:

start firefox C:\Program Files\Mozilla Firefox\firefox.exe

Обозреватель откроется, чтобы не было написано после start firefox . Именно поэтому некоторые товарищи будут уверять что все прекрасно работает. Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка

start filezilla

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

start D:\FileZilla\FileZilla.exe

Длинныe имена в bat-файлах

Теперь поговорим о путях и пробелах. Первый способ избежать этой проблемы - использование короткого имени.

start C:\Program Files\Sound Club\scw.exe

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~ . Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:

Program Files - Progra~1 Sound Club - SoundC~1 start C:\Progra~1 \SoundC~1 \scw.exe

Если рядом будут присутствовать две папки, например Sound Club и Sound Clown , то следуя правилам, в примере выше надо будет указать SoundC~2 , так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Короткими именами для них будут

Mozill~1 Mozill~2 Mozill~3

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. Короче, способ с короткими именами - не наш способ.

Пробелы и кавычки в bat-файлах

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

start "C:\Program Files\Sound Club\scw.exe"

Так команда не сработает, поскольку если посмотреть справку по ней (start /? ), то в справке вы увидите следующее:

START ["заголовок"] [команда/программа] [параметры]

Как видите, первым параметром идёт заголовок окна и он как раз в кавычках. Этот параметр необязательный, но его всё же советуют указывать (), чтобы избежать ошибок при выполнении команды. Внутри кавычек можно ничего не писать. Получится так:

start "" "C:\Program Files\Sound Club\scw.exe"

Также сработает и вариант с заключением в кавычки всех имён с пробелами по отдельности:

start C:\"Program Files"\"Sound Club"\scw.exe

Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd . Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу (start ):

%SystemDrive% cd \Program Files\Sound Club\ start scw.exe

Я думаю, что такой способ будет работать везде. Теперь еще пара важных моментов. Допустим вы создали батник, запускающий три программы и вам нужно на время исключить запуск одной из трех. Это можно сделать удалением строки или ее комментированием. Первый способ - вандальный, а второй смотрите ниже.

start firefox start jetaudio rem start defraggler

В данном случае отключен запуск установленной в системе программы Defraggler.exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.

start firefox start jetaudio rem start defraggler exit

Запуск приложений из bat-файла

В первой части статьи я в общих чертах рассказал о BAT файлах. Теперь стало понятно - что это такое и с чем его едят. Во второй части речь пойдет уже о более конкретных вещах. Например, о том, как при помощи BAT файла запустить несколько приложений с определенными настройками или в автоматическом режиме установить программу, чтобы не тратить время на ответы типа Вы согласны с условиями лицензионного соглашения? и не нажимать лишние кнопки.

Выше было изложено несколько способов запуска приложений при помощи BAT файла. Самый первый - это короткая команда на запуск установленной в системе программы.

start firefox

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

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe

Также я отметил, что в BAT файле обязательно должна присутствовать команда на завершение:

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe exit

Запуск программ в bat-файлах с параметрами (ключами)

Программу можно не просто запускать, а давать ей дополнительные команды при запуске. Например, скомандовать запускаться свернутой:

start /min D:\FileZilla\FileZilla.exe exit

Скомандовать в данном случае - значит указать ключ. Ключ указывается через слэш после основной команды (команда /ключ ). Основной командой в данном случае является start . Правда ключ min работает только в половине случаев, потому как относится именно к команде запуска start , а не к программам, которые эта команда запускает.

Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, правда, несколько общих. Например, ключ справки (/? или /help ). Чтобы проследить работу этого ключа, рассмотрим практический пример. Откройте консоль (Жмёте + R , вводите cmd , далее Enter ) и набираете в консоли следующее:

start /?

Консоль выведет на экран перечень допустимых ключей c комментариями для команды start .

Обратите внимание на ключ /wait . В некоторых случаях он бывает просто незаменим. Например, вы решили с помощью BAT файла распаковать архив с программой и эту самую программу запустить. В батнике получится две команды - на распаковку и на запуск. Поскольку команды при запуске BAT файла выполнятся почти одновременно, архив распаковаться не успеет и запускать будет нечего. Поэтому будет ошибка. В этом случае на помощь придет ключ /wait :

Таким образом система сначала выполнит первое действие, дождется его завершения и только после этого приступит ко второму. Если необходимо подождать конкретный отрезок времени, то проще воспользоваться консольной утилитой . В нужном месте BAT файла пишете следующую команду (число - количество секунд):

start Sleep.exe 15

С помощью ключей можно делать многое. Есть возможность устанавливать приложения . Для этого используется несколько ключей в зависимости от типа инсталятора, применяющегося для установки программы на компьютер:

/S /s /q /silent и ряд других

В ряде случаев бывает очень удобно. Антивирус Avast имеет опцию тихой установки в корпоративной версии. В бесплатной (домашней) версии тихой установки якобы нет. Однако, если вы в курсе как работает инсталятор InstallShield , вы поймете, что это утка, так как этот инсталятор сам по себе поддерживает ключ тихой установки /S . А значит все продукты, выполненные на его базе - тоже. И Avast не исключение. Просто создаете в папке с Avast"ом BAT файл с содержанием

start avast.exe /S exit

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

Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Я пользуюсь этим способом при разработке сайтов. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:

rem соединение с ftp-сервером start /min D:\FileZilla\FileZilla.exe "ftp://логин:пароль@сервер" rem открытие index.php в Firefox start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php" rem открытие start.html в текстовом редакторе start /min C:\"Program Files"\текстовой_редактор.exe "E:\сервер\папка_сайта\index.html" rem открытие папки с файлами сайта start /min E:\сервер\папка_с_сайтом rem выход из консоли exit

Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.

start /min /wait program.exe /m /S start C:\Directory\program2.exe "C:\Files\file.odt" exit

Но важно помнить: всё, что касается выполнения запускаемой в батнике программы, пишется с ней в одной строке.

start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"

В качестве эпилога предложу для ознакомления конвертер BAT файлов в приложения формата .exe - . BAT файл - это не всегда эстетично, а с помощью конвертера можно запаковать батник в exe"шник, оформив его любой иконкой на ваш выбор.

Наткнулся ещё на один конвертер BAT в EXE, можете рассмотреть в качестве альтернативы предыдущей программе: Advanced Bat To Exe Converter

Bat-файлами принято называть текстовые файлы, которые сохраняются с использованием расширения bat. Они вмещают в себя список команд для моментального выполнения интерпретатором command.com и cmd.exe. Данные интерпретаторы появились еще в операционной системе DOS, однако не потеряли своей актуальности для XP и . Самой распространенной задачей пакетных файлов является запись конкретных рутинных команд, постепенное выполнение которых дает возможность избежать часто повторяемых операций. Это, в свою очередь, способствует значительному ускорению обработки данных.

Не проще говоря, batch - это пакетный dos-файл, который содержит в себе набор DOS-команд в виде ASCII. А проще - это скрипт, который выполняется интерпретатором command.com либо cmd.exe.

Таким образом, в любой операционной системе Windows можно открывать любые файлы или приложения с помощью созданного bat-файла. Пользу от таких файлов можно увидеть на примере autoexec.bat, который является одним из командных файлов. В начале запуска и инициализации системы, вместе с обработкой config.sys, операционная система будет искать в корневом каталоге диска С: файл autoexec.bat, что означает его автоматическую обработку без каких-либо усилий со стороны человека. В данный файл удобно размещать нужные команды по настройке системы на ваше усмотрение.

Поясняю : после прочтения этой статьи, ты сможешь писать программы, которые удаляют системные файлы, и т.д. Главное, тебе для этого понадобится только блокнот и прямые руки, никаких компиляторов и дебагеров не требуется (батчи не такие примитивные, как тебе кажется, даже есть вирусогенераторы на них написанные).
И ещё. Я не буду описывать все возможные флаги (параметры) каждой команды, только наиболее полезные.

Бат файлы тоже помогут при создании Autorun"ов. Например, если ваш автозапуск выполнен в виде веб страницы, тогда вам придется прописать в файле Autorun.inf такие строки:
OPEN=\путь\имя_файла.bat а уже в бат файле прописать такие строки: start \путь\имя фала.html
Во первых хочу сразу сказать, что файлы имеющих расширение bat, cmd, reg имеют широкое применение и большие возможности, хоть они уже и не в моде. Скажу хотя бы, что первые два указанные выше расширения, это не что иное, как скомпилированные команды DOS. С помощью этих команд с лёгкостью пишутся вирусы особенно в файлах с расширением.reg (файлы реестра, а реестр, как известно хранит в себе все настройки операционной системы).

Хочу заметить, что приёмы с прописыванием команд в файл Autoexec.bat в ОС Windows 2000 и выше не всегда проходят, потому как в этих операционных системах на этот счет стоит защита, но с помощью записи в файле с расширением *.reg её можно легко снять. На всякий случай, если чувствуешь что у тебя вместе с системой запускается какой-то вирь, нажми клавиши Win+R и набери в появившемся диалоговом окне команду msconfig , зайди на вкладку Автозапуск (Autorun) и поубирай галочки над теми запускаемыми программами, которые тебе "мешают".

Весь список команд в bat файлах можно увидеть, написав в командной строке «help ». Появятся команды bat файлов, с короткими пояснениями к каждой из них. Для получения более детальной информации по необходимой команде нужно написать в командной строке «help » и имя команды.

Возможности bat

Простые команда batch-файлов

echo off запрещение вывода на экран исполняемых команд (on - вкл.)
deltree /y %файл% удалить файл (/y означает "удалить без вопросов"). Кстати, в NT работает только del (флаг /y не нужен).
copy %путь\файл% %куда\файл% cкопировать файл
mkdir %название_диры% создать директорию
echo %текст% вывести текст на экран
echo %текст% > %путь\файл% создать файл и вписать в него текст
echo %текст% >> %путь\файл% добавить текст в уже существующий файл
if exist %путь\файл% %команда% если существует файл, выполнить команду
attrib %атрибут% %путь\файл% поставить\убрать атрибуты файлу (+-h скрытый, +-s системный, +-r только чтение)
start %путь\файл% запустить файл
cls очистить экран
pause выводит сообщение "Нажмите любую кнопку... "
label %новая_метка% поставить новую метку системного диска (диск С)
format %диск%: /q быстрое форматирование диска:) Несколько секунд
ren %путь\файл% %новое_название_файла% переименовать файл
goto %метка% перескочить с одного места кода на метку

Непростые фишки bat-файлов и хитрости

  • Подобие таймера (на n секунд задерживает выполнение последующих команд)
    choice /N /T:y,%сек% > nul
  • Запрещение вывода на экран самой команды и результата её действия (полезно при команде "copy"). Пример: copy c:\some.exe %windir%\some.exe > nul
    %команда% > nul
  • Добавить ключи в реестр из файла без вопросов
    regedit /s %путь\файл.reg%
  • Запустить файл в свёрнутом окне
    start /m /w %путь\файл%
  • Слышал про файл Autoexec.bat? Знаешь, что он грузится вместе с компом? Наверное, да. Так вот, он имеет расширение BAT. На что я намекаю? На то, что ты можешь в него прописать строчку хитросделанного кода. Это я к тому, что любой скрипт, вставленный в этот файл, будет выполнен при загрузке компа. Также можешь создать в каталоге с виндой файл winstart.bat. Он также запуститься виндоус.
  • Это относиться как раз к фишке с Autoexec. К примеру, если ты положишь в каталог Windows\command файл к примеру "load.bat" (наверное, с плохим содержанием), а из autoexec"a подгрузить свой батничек. И это ещё отстой.. Ты сможешь загружать эти файлы такой строчкой: "load keybrd32.sys" или такой: "load VideoAdapter32.drv -- By windows setup --". Вряд ли такие строчки рискнёт удалять какая-нибудь лама, и твой файл без проблем загрузится.
  • После выполнения этого скрипта в переменной %drv% будет прописан диск с Виндой и с Programm Files
    if exist c:\Progra~1 set drv=c:
    if exist d:\Progra~1 set drv=d:
    if exist d:\Progra~1 set drv=e:
  • В переменной %windir% хранится каталог с виндусом в таком виде: диск:\название_каталога. Пример:
    copy c:\some.exe %windir%\some.exe
  • Batch скрипты не любят длинные, либо состоящие из двух слов, названия. Длинные урезаются до 6-ти букв (после них должно стоять "~1", к примеру "Program Files -> Progra~1"). Пробелы он просто убирает (The Bat -> TheBat~1).
    Это я к тому, что в бачах обращайся к файлам по их досовским названиям. Пример:
    copy c:\some.exe c:\Progra~1\some.exe (копируется файл в папку Program Files)
  • Этот скрипт выводит на экран Windows-окошко (посредством JS) с твоим сообщением и кнопкой ОК
    echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js
    echo WSHShell.Popup("твой_текст"); >> %temp%\mes.js
    start %temp%\mes.js
    deltree /y %temp%\mes.js

Злоключение

Ну что, мои уважаемые кулхацкеры, это лишь вершина айсберга. Я вас уверяю, если соображалка у вас хорошо работает, делов вы сможете наделать всяких. В своих ухищрениях также можно задействовать VBS. А самораспоковывающие RAR - еще отдельная история. При должном навыке вы сможете все это совместить и наказывать, наказывать и еще раз наказывать =)

Лучшие статьи по теме