- Как создать bat файл в Windows
- Создание .bat файла с помощью блокнота
- Запуск программ в файле bat и другие базовые команды
- Что такое BAT-файл, как создавать файлы пакетной обработки команд
- Что собой представляет BAT-файл
- Как создать файл с расширением BAT в Windows 10/8/7
- Использование длинных имён в BAT-файлах
- Кавычки в пакетных файлах
- Основные команды, примеры использования BAT-файлов
- Другие возможности запуска батников
- Запуск батников от имени администратора
- Запуск скриптов по расписанию
- Скрытый запуск батника
Как создать bat файл в Windows
Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.
В этой инструкции подробно о том, как создать командный файл bat, запустить его и некоторая дополнительная информация, которая, возможно, окажется полезной в контексте рассматриваемой темы.
Создание .bat файла с помощью блокнота
Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.
Шаги по созданию будут следующими
В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы».
Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).
Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл bat от имени администратора: правый клик по файлу .bat — запустить от имени администратора в контекстном меню).
Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».
Существуют и другие способы сделать bat файл, но все они сводятся к написанию команд по одной команде в строке в текстовый файл в любом текстовом редакторе (без форматирования), который затем сохраняется с расширением .bat (например, в Windows XP и 32-битной Windows 7 вы даже можете создать файл .bat в командной строке с помощью текстового редактора edit).
Если у вас включено отображение расширений файлов (изменяется в панель управления — параметры проводника — вид — скрывать расширения зарегистрированных типов файлов), то вы можете просто создать файл .txt, затем переименовать файл, установив расширение .bat.
Запуск программ в файле bat и другие базовые команды
В командном файле вы можете запускать любые программы и команды из этого списка: https://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx (правда, некоторые из указанных могут отсутствовать в Windows 8 и Windows 10). Далее — лишь некоторые базовые сведения для начинающих пользователей.
Чаще всего бывают следующие задачи: запуск программы или нескольких программ из .bat файла, запуск какой-то функции (например, очистка буфера обмена, раздача Wi-Fi с ноутбука, выключение компьютера по таймеру).
Для запуска программы или программ используйте команду:
Если путь содержит пробелы, возьмите весь путь в двойные кавычки, например:
start «» «C:Program Filesprogram.exe»
После пути к программе можно также указать параметры, с которыми она должна запускаться, например (аналогично, если параметры запуска содержат пробелы, возьмите их в кавычки):
start «» c:windowsnotepad.exe file.txt
Примечание: в двойных кавычках после start по спецификациям должно указываться имя командного файла, отображаемое в заголовке командной строки. Это необязательный параметр, но при отсутствии этих кавычек выполнение bat файлов, содержащих кавычки в путях и параметрах может пойти неожиданным образом.
Еще одна полезная возможность — запуск другого bat файла из текущего файла, сделать это можно с помощью команды call:
call путь_к_файлу_bat параметры
Переданные параметры при запуске можно прочитать внутри другого bat файла, например, мы вызываем файл с параметрами:
call file2.bat параметр1 параметр2 параметр3
В file2.bat можно прочесть эти параметры и использовать в качестве путей, параметров для запуска других программ таким образом:
echo %1
echo %2
echo %3
pause
Т.е. для каждого параметра мы используем его порядковый номер со знаком процента. Результатом в приведенном примере будет вывод в окно команд всех переданных параметров (команда echo используется для вывода текста в окно консоли).
По умолчанию, окно команд закрывается сразу после выполнения всех команд. Если нужно прочитать информацию внутри окна, используйте команду pause — она остановит выполнение команд (или закрытие окна) до нажатия любой клавиши в консоли со стороны пользователя.
Иногда, перед выполнением очередной команды нужно подождать некоторое время (например, до полного запуска первой программы). Для этого можно использовать команду:
timeout /t время_в_секундах
При желании, вы можете запустить программу в свернутом виде или развернутом видео с помощью параметров MIN и MAX перед указанием самой программы, например:
start «» /MIN c:windowsnotepad.exe
Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:
cmd /c start /b «» путь_к_программе параметры
Примечание: в данном команде, если пути к программе или параметры содержат пробелы, могут быть проблемы с запуском, которые можно решить так:
cmd /c start «» /d «путь_к_папке_с_пробелами» /b имя_файла_программы «параметры_с_пробелами»
Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.
Что такое BAT-файл, как создавать файлы пакетной обработки команд
Графический интерфейс, предложенный Apple, оказался революционным во всех отношениях: он сделал компьютер более дружественным по отношению к конечному пользователю, одновременно подстегнув производителей аппаратного/программного обеспечения. Но юзеры со стажем помнят времена, когда на ПК безраздельно властвовала ОС MS DOS, использовавшая текстовый режим для ввода всех команд и запуска программ. Командная строка и сегодня пользуется популярностью среди сторонников Linux, но её основной недостаток заключается в сложности набора длинных команд – при ошибке всё приходится повторять заново.
И выход был найден – самые распространённые сценарии записывались в текстовый файл специального формата с расширением BAT, который затем интерпретировался операционной системой, а вернее, её компонентой, известной как CMD (интерпретатор командных строк). Оказывается, GUI-интерфейс оказался не таким всемогущим, и ряд задач даже в Windows последних поколений можно автоматизировать только с помощью BAT-файлов.
Что собой представляет BAT-файл
С точки зрения пользователя компьютера это текстовый файл с соответствующим расширением, но для операционной системы такие файлы особенные – они состоят из ряда команд, которые после запуска интерпретируются и выполняются по определённым правилам. Таким образом, ответ на вопрос, что такое батник для компьютера под управлением ОС Windows, может звучать следующим образом: это набор команд, записанный в текстовом формате, позволяющий сэкономить время на их наборе каждый раз, когда возникнет необходимость. Сленговое название таких файлов – батник, их также называют пакетными файлами.
С помощью таких батников можно автоматизировать целые классы задач:
- осуществлять управление файловой системой компьютера (удалять, создавать, перемещать файлы, каталоги, подкаталоги);
- выполнять последовательность команд с определёнными параметрами, которые могут быть контекстно-зависимыми;
- осуществлять пакетный запуск программ/утилит.
Как создать файл с расширением BAT в Windows 10/8/7
Поскольку батник представляет собой обычный текстовый файл с необычным контентом, для его создания сгодится практически любой текстовый редактор. Разумеется, потребуется также знание синтаксиса языка командной строки. Использовать Word – не самый оптимальный способ, гораздо проще задействовать «Блокнот», но ещё лучше воспользоваться Notepad++, поскольку этот редактор обладает полезной «фишкой» – умеет подсвечивать синтаксис, облегчая задачу пользователям. Правда, в состав операционной система он не входит, его придётся скачивать.
В обоих случаях создание батника происходит по одинаковому сценарию: в меню «Файл» выбираем «Создать», заполняем файл содержимым, по окончании редактирования кликаем «Сохранить как», даём имя пакетному файлу, а в поле «Тип файла» указываем «Batch file».
В классическом «Блокноте» расширение необходимо написать руками, выбрав в поле «Тип файла» опцию «Все файлы».
При написании пакетных скриптов необходимо учитывать следующие нюансы:
- перенос строк в таких файлах недопустим, он будет интерпретироваться неправильно;
- правильной кодировкой будет UTF-8;
- при использовании в командах кириллических символов, кодировку следует изменить с помощью специальной команды chcp 1251;
- расширение BAT идентично CMD. Файлы, оканчивающиеся таким расширением, будут обработаны командным интерпретатором точно так же.
Есть и другие интересные моменты.
Использование длинных имён в BAT-файлах
Многие пользователи при практическом рассмотрении вопроса, как создать батник, в том числе с расширением CMD, сталкиваются с проблемой длинных имён, которые доступны в ОС Windows. Интерпретатор командной строки в этом отношении остался закоренелым ретроградом – он понимает имена файлов и каталогов в формате DOS, то есть длиной не более 8 символов. Как же решается подобная дилемма?
Один из наиболее известных способов – сокращение имени до 6 символов (исключая пробелы) и присвоение остатку окончания, состоящего из символа «тильда» (
) и цифры 1. Например, стандартное имя каталога Program Files будет выглядеть как Progra
1, папка Sound Blaster получит имя SoundB
Казалось бы, вполне изящное решение. Но не во всех случаях. Скажем, у вас имеется несколько папок, начинающихся с одного имени. Типичный пример – установка в том же Program Files нескольких программных продуктов от компании Mozilla – в этом случае сокращённым именем будет Mozill, и если всем присвоить остаток
1, то это будет неправильно. Выход – именовать файлы, присваивая номер в порядке возрастания. Получим последовательность для продуктов Firefox, Thunderbird и Sunbird в виде строк Mozill
1 для браузера, Mozill
2 для Thunderbird и Mozill
3 для органайзера.
Проблема в том, что если один из продуктов удалить, например, Firefox, оставшиеся две записи окажутся неработоспособными. Удалив Thunderbird, вы сделаете недоступным Sunbird. Наконец, такой способ позволяет дать имена лишь девяти файлам/папкам с одинаковым начальным именем. Так что подобный способ удовлетворительным назвать никак нельзя.
Второе решение – заключать длинные имена и пути в кавычки.
Кавычки в пакетных файлах
Если вы думаете, что знаете всё про то, как сделать BAT-файл, то, скорее всего ошибаетесь. Допустим, вам нужно указать один из параметров команды в кавычках. Сами кавычки синтаксисом не запрещены, но всегда нужно учитывать правила написания конкретной команды. Пускай нам нужно запустить экзешник scw.exe. Соответствующая команда, по идее, должна иметь вид
Но это будет воспринято интерпретатором неправильно, поскольку в синтаксисе команды START на первом месте – необязательный параметр [«заголовок»], и только затем следует путь. Поэтому, чтобы командный интерпретатор не запутался, первый параметр обязательно указываем, даже если он не нужен – просто оставляем его пустым.
Тогда наша команда преобразится:
Правильным также будет заключение в скобки всех наименований папок/файлов с пробелами внутри. Но встречаются ситуации, когда оба варианта не сработают. В таких случаях можно посоветовать посредством команды cd перейти в нужный каталог и работать уже в целевом. В нашем случае батник будет иметь вид:
%SystemDrive% cd \Program Files\SoundClub\ start scw.exe
Этот метод более трудоёмкий, но он гарантированно рабочий.
Как видим, создание, написание BAT-файлов даже для таких простых задач, как запуск программ в Windows, является по большому счёту искусством.
Основные команды, примеры использования BAT-файлов
Принцип создания батников прост и понятен, но основные сложности связаны с его содержимым – без команд такой файл бесполезен. Самый простой и, кстати, наиболее часто используемый пример команды – это уже рассмотренный нами запуск программ, или команда start. Её полный синтаксис занимает несколько строк, при желании вы сможете ознакомиться с ним, отыскав соответствующие инструкции. Мы же пока рассмотрим, как можно автоматизировать простой запуск трёх программ, которые вы используете в своей ежедневной работе. Пускай это будут Chrome, VLC и Total Commander.
Создадим пакетник, который последовательно запустит все три программы с пятисекундной задержкой.
Батник будет иметь вид:
start «» «C:/Program Files/Google/Chrome/Application/chrome.exe»
start «» «C:/Program Files/VideoLAN/VLC/vlc.exe»
start «» «C:/Program Files/TotalCMD/totalcmd.exe»
Зачем нужны пустые кавычки, вы уже знаете. Команда timeout с параметром /t указывает временной интервал до запуска следующей команды.
Если бы в пути не было папок с пробелами, их можно было бы указывать без кавычек.
Стандартный способ выполнения этого BAT-файла предполагает, что при выполнении скрипта будет открыто три окна консоли, которые закроются автоматически, как только отработка команды завершится. Но существует способ запуска команд старт в одном окне терминала. Для этого сразу после директивы start добавляется параметр /b, и только затем – всё остальное.
Иногда для запуска программ через батник, требуется реакция пользователя, то есть он должен сам решать, когда должна стартовать следующая программа. В таких случаях вместо timeout ставят директиву pause без параметров, в результате чего после запуска каждой программы будет появляться сообщение «Нажмите любую клавишу для продолжения».
Ещё один интересный пример – скрипт, запуск которого приведёт к выключению или перезагрузке компьютера. Основной командой будет shutdown с параметрами, но будет и ряд вспомогательных директив, которые нужно знать, ибо они могут оказаться полезными и в других случаях.
Пример такого скрипта:
@echo off
chcp 1251
echo «Вы действительно хотите выключить компьютер?»
pause
shutdown /s /t 0
Первая директива указывает, что при выполнении команд они не должны выводиться на экран. Со второй строкой всё понятно – мы хотим использовать кириллические символы. Команда echo служит для вывода содержимого параметра в кавычках на монитор. Действие директивы pause вам тоже известно. Наконец, команда shutdown инициирует выключение ПК (если указан параметр /s) или его перезагрузку (/r), а параметр /t задает задержку в секундах перед выполнением команды.
В принципе для выполнения основного действия достаточно пятой строки, без использования предыдущих четырёх.
Иногда, несмотря на присутствие директивы chcp 1251, кириллические символы выводятся крякозябрами. Попробуйте в таких случаях использовать кодировку ANSI.
В BAT-файлах часто используют команды, предназначенные для работы с файловой системой.
Так, команду del можно использовать для удаления папок и/или файлов, её аналогом является команда erase. Среди используемых параметров отметим следующие:
- /p – указывает, что перед удалением файла/каталога нужно ответить утвердительно на запрос системы;
- /f – удаление даже тех файлов, которые имеют атрибут «только для чтения»;
- /s – удаление каталога вместе с внутренним содержимым, всеми подкаталогами и файлами;
- /q – удалять файлы, не спрашивая подтверждения.
Очень полезная команда, позволяющая автоматизировать создание резервных копий важных каталогов посредством копирования папки в указанное место вместе со всеми подкаталогами:
В результате выполнения команды папка data будет скопирована в каталог backup1, размещённый на другом логическом диске, вместе со всем содержимым. И у этой команды имеется множество параметров, позволяющих настраивать работу скрипта достаточно гибко.
Другие возможности запуска батников
Мы рассмотрели только малую часть команд и возможностей BAT-файлов. Рассмотрим ещё несколько показательных примеров.
Запуск батников от имени администратора
Многие пользователи сталкивались с необходимостью запуска системных утилит, служб или программ с правами администратора. Подобная возможность имеется и для пакетных файлов.
Самый очевидный и простой способ запустить BAT-файл через командную сроку от имени администратора – кликнуть по имени этого файла ПКМ и выбрать из контекстного меню соответствующий пункт. Недостаток этого метода очевиден – эту процедуру придётся повторять каждый раз при запуске скрипта.
Но процесс можно автоматизировать – нужно создать для батника ярлык, в свойствах которого нажать кнопку «Дополнительно» и поставить галочку напротив фразы «Запуск от имени администратора». При этом пиктограмму для ярлыка можно выбрать по своему усмотрению, что полезно, если таких батников у вас много.
Запуск скриптов по расписанию
В принципе для этих целей можно использовать уже упоминавшуюся директиву timeout с параметром /t, но её возможности сильно ограничены. Оптимальным способом будет использование системного «Планировщика задач».
Для этого запускаем «Планировщик» (например, через консоль «Выполнить», набрав команду taskschd.msc), выбираем нужный триггер, кликаем на опции «Запустить программу» и указываем полный путь к батнику. Этого достаточно, чтобы наш пакетный файл запускался по расписанию.
Скрытый запуск батника
Поскольку выполнение скрипта требует запуска интерпретатора командной строки, при запуске BAT-файлов на экране всегда мелькает чёрное окно консоли. Некоторых оно раздражает, некоторых – пугает. Можно ли запускать пакетные файлы в скрытом режиме? Оказывается, да, причём разными способами.
Простейший метод заключается в создании ярлыка на пакетник, в свойствах которого во вкладке «Окно» указываем опцию «Свёрнутое в значок». В результате запуска такого скрипта рабочий стол будет оставаться девственно чистым, единственным напоминанием о наших действиях будет появление пиктограммы CMD в области панели задач.
Если вас и такой вариант не устраивает, можно использовать так называемый «костыль» – специальный скрипт VBS, запускающий BAT-файл в скрытом режиме.
Содержимое такого скрипта, который нужно сохранить под именем hidden.vbs:
Set WshShell = CreateObject(«WScript.Shell»)
WshShell.Run chr(34) & «D:\script.bat» & Chr(34), 0
Set WshShell = Nothing
Здесь вместо D:\script.bat нужно указать полный путь к вашему батнику.
Итак, мы рассмотрели несколько способов, как создать и запустить BAT-файл, познакомились с основами его синтаксиса, а более детальную информацию можно найти в интернете. Весьма полезным будет прочтение учебника «Командная строка MS Windows» от Уильяма Станека, изданного в 2004 году и до сих пор не утратившего актуальности.