Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.
В этой инструкции подробно о том, как создать командный файл bat, запустить его и некоторая дополнительная информация, которая, возможно, окажется полезной в контексте рассматриваемой темы.
Создание .bat файла с помощью блокнота
Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.
Шаги по созданию будут следующими
- Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:\Windows\notepad.exe).
- Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции).
- В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .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 "" путь_к_программе
Если путь содержит пробелы, возьмите весь путь в двойные кавычки, например:
start "" "C:\Program Files\program.exe"
После пути к программе можно также указать параметры, с которыми она должна запускаться, например (аналогично, если параметры запуска содержат пробелы, возьмите их в кавычки):
start "" c:\windows\notepad.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:\windows\notepad.exe
Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:
cmd /c start /b "" путь_к_программе параметры
Примечание: в данном команде, если пути к программе или параметры содержат пробелы, могут быть проблемы с запуском, которые можно решить так:
cmd /c start "" /d "путь_к_папке_с_пробелами" /b имя_файла_программы "параметры_с_пробелами"
Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.
#статьи
-
0
Автоматизируем рутину в Windows с помощью скриптов.
Иллюстрация: Оля Ежак для Skillbox Media
Филолог и технарь, пишет об IT так, что поймут даже новички. Коммерческий редактор, автор технических статей для vc.ru и «Хабра».
На Windows часто возникают рутинные задачи, которые хочется автоматизировать. Например, почистить временные файлы, забэкапить важные документы или запустить одним кликом несколько приложений. Для этого есть простой инструмент — BAT-файлы (в простонародье «батники»). В этой статье научимся разрабатывать простые скрипты и запускать их по расписанию.
Эксперт
CTO Flocktory, программный директор профессии «DevOps-инженер» в Skillbox, директор программного комитета DevOpsConf.
Содержание
- Как создать BAT-файл
- Команды и синтаксис
- Как объявить переменную
- Как комментировать строки
- Примеры BAT-файлов
- Как запустить BAT-файл через командную строку
BAT-файлы — это скрипты с набором команд, которые понимает командная строка Windows. Их можно использовать для автоматизации задач, которые часто повторяются или занимают у пользователя много времени. Такие скрипты хранятся в файлах с расширением .bat.
Для создания BAT-файла понадобится любой текстовый редактор, например стандартный «Блокнот». Давайте откроем его и напишем скрипт, который выведет в окне командной строки сообщение Hello, World!:
@echo off echo Hello, World! pause
Теперь нужно сохранить документ в формате .bat. Для этого выберем пункт Сохранить как в разделе меню Файл.
В появившемся окне можно ввести любое название файла, а конце надо обязательно добавить расширение .bat. Затем нажимаем Сохранить:
Если запустить получившийся файл, откроется командная строка с нашим сообщением:
Для разработки батников существует множество команд. Рассмотрим те, что встречаются чаще всего.
Команда | Аргумент команды | Действие |
---|---|---|
title | Желаемый заголовок | Устанавливает заголовок окна командной строки на желаемый |
cd | Путь к каталогу | Переводит пользователя в каталог, указанный в пути к файлу |
start | Команда или путь к файлу | Запускает указанный файл программы или выполнение команды в новом окне командной строки |
mkdir или md | Имя папки | Создаёт папку с указанным именем |
copy | Имена файлов и путь к папке для копирования | Копирует файлы в указанный каталог |
xcopy | Имена файлов и путь к папке для копирования | Копирует каталоги и файлы, сохраняя их структуру |
move | Путь к файлу и к конечному каталогу | Перемещает файлы из одной папки в другую |
del | Путь к папке | Удаляет файлы внутри каталога. Не трогает папки |
rd | Путь к папке | Удаляет папку |
start | Путь к файлу программы | Запускает файл программы |
color | Обозначение цвета | Меняет цвет фона и текста командной строки |
echo | Текст | Выводит текст на экран командной строки |
chcp | Обозначение кодировки | Указывает кодировку текста. Пригодится для корректного отображения кириллицы |
pause | — | По окончании выполнения команд оставляет окно командной строки запущенным |
exit | — | Завершает работу командной строки |
Переменная — виртуальная ячейка с присвоенным именем, в которой хранятся данные. Это может быть текст, числа или выражения. К переменной можно обращаться по имени, чтобы использовать её содержимое или перезаписывать его.
В BAT-файлах переменная объявляется с помощью команды set. После команды надо указать уникальное имя переменной и присвоить ей значение:
@echo off set example=Hi,user! echo %example% pause
Разберём строки скрипта:
- @echo off — эта строка отключает отображение команд. Будут показаны только строки, которые начинаются с echo.
- set example=Hi, user! — создаёт переменную с именем primer и записывает в неё строку Hi, user!.
- echo %example% — выводит содержимое переменной на экран.
- pause — эта команда не даёт окну закрыться сразу после выполнения скрипта, чтобы мы могли оценить результат.
Если запустить этот BAT-файл, то в командной строке появится содержимое переменной example:
Для записи в переменную значения выражения надо использовать флаг /a перед именем:
set /a example=5*10
В BAT-файлах бывает очень много строк кода. Настолько много, что в них можно заблудиться, а со временем забыть логику всего скрипта. В таких случаях лучше использовать комментарии, объясняющие код. Они не отображаются при запуске и не влияют на выполнение команд.
Для создания однострочных комментариев используют команду rem или двойное двоеточие (::):
rem текст_комментария :: текст_комментария
Например, следующий скрипт не выведет на экран строку Следующие команды выводят текст на экран:
@echo off rem Следующие команды выводят текст на экран set primer=Hi, user! echo %primer% pause
Для больших комментариев на несколько строк можно использовать команду goto:
goto comment === текст_комментария === :comment
Обратите внимание, что после goto следует название метки — comment, она же и закрывает комментарий в конце. На самом деле можно использовать любое название метки, главное — чтобы оно было уникальным.
Разберём примеры готовых BAT-файлов для разных задач. Их можно скопировать и использовать уже сейчас.
Допустим, необходимо время от времени создавать копию всех текстовых файлов, лежащих в каталоге Документы. Чтобы не делать это каждый раз вручную, можно создать скрипт и запускать его с рабочего стола.
Батники лучше начинать с команды @echo off, чтобы избавиться от служебных строк, которые информируют о ходе выполнении скрипта. Убрав их, мы ничего не потеряем. Если нужно будет выводить текст, написанный кириллицей, то второй строчкой BAT-файла нужно указать кодировку:
chcp 65001
При каждом запуске скрипта в папке backup на диске C: будем создавать директорию с текущей датой в названии — так будет проще искать бэкапы. Для этого используем команду md с параметром %DATE%:
md "C:/backup/%DATE%"
Теперь скопируем содержимое папки «Документ» в созданную директорию. С помощью параметра %USERNAME% можно обратиться к файлам текущего пользователя, если на компьютере их несколько:
xcopy "C:/Users/%USERNAME%/Documents" "C:/backup/%DATE%"
Для экономии места будем архивировать бэкапы с помощью 7-zip. Нужно будет предварительно скачать и установить программу по инструкции на сайте разработчика.
Далее переходим в каталог с резервными копиями с помощью команды cd и вызываем 7-zip с параметром -tzip. Появится архив бэкапа в формате .zip:
cd "C:/backup/%DATA%" "C:/Program Files/7-Zip/7z.exe" -tzip a %DATE%.zip %DATE%
Ход выполнения скрипта можно сопровождать сообщениями командной строки, чтобы пользователь узнал, когда резервное копирование завершится. Для вывода сообщений используется команда echo.
Кроме того, текст, выводящийся на экран, можно покрасить с помощью команды color, передав ей код цвета. Эту строчку лучше добавлять в начало батника.
Весь список доступных цветов приведён в таблице:
Скриншот: «Командная строка» / Skillbox Media
Скриншот: «Командная строка» / Skillbox Media
Полный текст скрипта для резервного копирования файлов:
@echo off chcp 65001 color 03 echo Начинается процесс резервного копирования md "C:/backup/%DATE%" xcopy "C:/Users/%USERNAME%/Documents" "C:/backup/%DATE%" cd "C:/backup/%DATA%" "C:/Program Files/7-Zip/7z.exe" -tzip a %DATE%.zip %DATE% echo Процесс завершен pause
Бывает, что для работы надо запустить одновременно несколько приложений — например, браузер, мессенджер, редактор кода и клиент Git. Этот процесс можно автоматизировать, чтобы все необходимые программы открывались по одному клику.
Исполняемые файлы запускаются командой start. В качестве аргумента ей надо передать путь к файлу на диске:
start "" "путь_к_исполняемому_файлу"
Так, чтобы открыть одновременно браузер Microsoft Edge, текстовый редактор WordPad и приложение «Службы», надо трижды вызвать команду start:
start "" "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" start "" "C:\Program Files\Windows NT\Accessories\wordpad.exe" start "" "C:\Windows\system32\services.msc"
Перед аргументом всегда добавляйте двойные кавычки («»), иначе откроются не программы, а новые экземпляры командной строки.
В Windows есть папка Temp, в которой система собирает временные файлы из браузера и приложений. Если её не очищать, то со временем её размеры могут увеличиться до десятков гигабайт.
Пользователи редко чистят папку с временными файлами. Для этого надо включить отображение скрытых папок, найти директорию на диске и вручную удалять мусор. Проще автоматизировать эту задачу с помощью простого BAT-файла, который будет очищать папку Temp по клику мыши или расписанию.
Сначала вызовем команду rd с параметрами /s и /q — это полностью удалит папку с диска. Затем создадим Temp заново с помощью mkdir:
rd /s /q C:\Users\%USERNAME%\AppData\Local\Temp\ mkdir C:\Users\%USERNAME%\AppData\Local\Temp\
Запускать BAT-файлы можно разными способами. Самый очевидный — двойной щелчок левой кнопкой мыши. Также можно делать это из командной строки или настроить автоматический запуск по расписанию.
- Откройте окно поиска Windows. Он находится рядом с меню «Пуск».
- Введите в строке поиска cmd и запустите инструмент «Командная строка».
- В окне командной строки укажите полный путь до файла .bat и нажмите Enter.
Батники в Windows открываются в окне командной строки, что иногда может мешать в работе. Простой скрипт на языке VBScript позволяет запускать BAT-файлы в фоновом режиме:
- Откройте любой текстовый редактор, например «Блокнот».
- Вставьте в новый документ код скрипта для скрытого запуска:
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "Полный_путь_до_.bat_файла" & Chr(34), 0 Set WshShell = Nothing
- Сохраните файл, но вместо .bat укажите расширение .vbs.
- Запустите файл, щёлкнув по нему дважды левой кнопкой мыши.
Если у вас есть повторяющиеся задачи, то можно настроить запуск BAT-файлов по расписанию. Для этого понадобится встроенный в Windows «Планировщик заданий».
1. Нажмите сочетание клавиш Win + R, в появившемся окне введите taskschd.msc и нажмите Enter.
2. Откроется «Планировщик заданий». В правой части его окна нажмите Создать простую задачу.
3. В «Мастере создания простой задачи» введите имя новой задачи и её описание. Затем нажмите Далее.
4. Выберите периодичность запуска. Доступны опции с привязкой к конкретному времени или запуску системы.
5. Введите время, в которое нужно запускать задачу.
6. Отметьте пункт Запустить программу.
7. Укажите путь до вашего BAT-файла и нажмите Готово.
Теперь батник будет запускаться с заданной периодичностью. К примеру, так можно настроить автоматическое удаление временных файлов при каждом запуске системы или создание резервной копии раз в неделю.
BAT-файлы — мощный инструмент для автоматизации задач на компьютерах под управлением Windows. Больше о командах можно узнать из официальной документации Microsoft, а на GitHub разработчики публикуют коллекции полезных батников.
Попробуйте себя в IT бесплатно
Вы познакомитесь с основами разработки, напишете первую программу на Python и поймёте, как быстро устроиться в IT.
Учиться бесплатно →
Дисклеймер
Мне 12 и я сам в этой теме плохо шарю, т.к. инфы в инете мало. Пж, без хейта.
Что такое батники и с чем их едят
Пакетный файл или в простонародье батник — это файл, который запускает командную сроку или сокращенно cmd, которая построчно интерпретирует команды, записанные в нем. Подробнее смотрите на https://ru.wikipedia.org/wiki/Пакетный_файл.
Первая программа и основные команды
Чтобы сделать батник, нужно сначала создать текстовый файл с именем test и изменить расширение c .txt на .bat. О том, как можно это сделать, читайте здесь: https://remontka.pro/file-extensions. У вас должен появиться файл с такой иконкой:
Нажимаем на него ПРАВОЙ кнопкой мыши. Должно появиться диалоговое окно. Нажмем «Открыть». Должен открыться блокнот, пишем:
@echo off
echo Hello world!
pause
В 1-ой сроке («@echo off») префикс ‘@ ‘ означает, что команда не будет выведена на экран(попробуйте его убрать ), сама же команда (echo) выводит текст следующий за ней(см. строку 2), НО, если подать строку «off», все последующие команды будут действовать так, как будто перед ними стоит префикс ‘@’, «echo on», соответственно, выключает этот режим. Чтобы вывести символ «%», его нужно дублировать, потом поймете почему :-), для вывода пустой строки поставьте «.» после «echo»
В 3-ей строке команда выводит строку «press any key to continue . . .» (если у вас русский язык — «Для продолжения нажмите любую клавишу . . .») и останавливает программу до нажатия любой клавиши.
Наводим красоту
Команда «rem»
не делает ничего и служит комментарием к коду
rem Это самая лучшая прога в мире!!!!!
Код включает русские символы и другие из ascii(например: «╬▓☼», можно скопировать с http://pascalguru.ru/psevdograf.html), иначе ascii символы превратятся в кракозябры:
chcp 65001
Следующий код код работает, как команда «pause», но ничего не выводит на экран и не реагирует на нажатие клавиш(я потом объясню, как это работает).
:m
goto m
А этот — меняет заголовок окна на «name»
title name
Эта команда меняет цвет фона и текста, вместо a и b можно поставить любые шестнадцатеричные цифры(команда не сработает если a = b) см. таблицу ниже. Запись c одной буквой «а» аналогично записи «0a»
color ab
Эта — досрочно завершает программу
exit
Переменные
Создать переменную можно с помощью команды set, синтаксис объявления следующий: P.S. это не совсем переменные, это скорее макросы (для тех к кто не знает C/C++ это именованный кусочек кода, имя которого заменяется на этот кусочек кода)
set a=Hello world
Если после «set» добавить флаг «/a» то:
-
Переменной задастся значение выражения, а не его текст, например:
set a=2+2 > 2+2 set /a a=2+2 > 4
-
Переменной можно присвоить ТОЛЬКО числовое значение
Чтобы обратиться к переменной, нужно окружить ее символами «%» (так %name%), пример кода:
set /a a=%b%+%b%
echo %a%
Подробнее о переменных
Если добавить флаг «/p», то выводиться значение после символа «=», а переменной задается введенное значение(запустите этот код:)
@echo off
set /p a=Enter str
echo %a%
pause
следующий код вырезает строку от символа номер «a» до символа номер «b» НЕ включительно(счет идет с нуля, отрицательные числа — счет с конца от единицы). Если аргумент один, то он присваивается числу «b», а «a» = 0
%str:~a,b%
следующий заменяет подстроки «a» в строке на строки «b»:
%str:a=b%
Циклы и условия
Цикл можно создать с помощью команды «for», синтаксис следующий:
for %%i in (a b c) do (
cmd
)
или такой
for %%i in (a b c) do cmd
(a b c) это список (не обязательно из 3-х элементов) и переменная %%i (нужно ставить символ после процентов, а не между) по очереди проходит по значениям в списке
Если добавить флаг «/l», то переменная в первый раз будет равна «a». К ней каждый раз будет прибавляться «b», пока она не станет больше «c»(тут размер ДОЛЖЕН равняться 3)
запустите этот код, тут все наглядно
@echo off
chcp 65001
echo Начало
for /l %%i in (1 1 10) do echo %%i
echo Конец
pause
Команда if выполняет код, если условие верно (или если поставить not после if, когда НЕ верно), вот операторы сравнения:
P.S. строки нужно брать в кавычки «%str%»==»Hello»
equ(==) |
= |
neq |
≠ |
lss |
< |
leq |
≤ |
gtr |
> |
geq |
≥ |
пример кода:
@echo off
set /p a=Enter number
if a gtr 0 echo positive else\
if a equ 0 echo 0 else echo negative
pause
в 3-ей строке, если «a» > 0 выводиться «положительный»(на английском ), если равен — 0,в 4-ой если меньше — «отрицательный»
символ «\» означает, что команда продолжается на следующей строке
Метки
Создадите файл start.bat в той же папке, где и test.bat, напишите в нем:
test.bat 2 2
Мы запустили батник, НО подали в него аргументы 2 и 2. Чтобы к ним обратиться, нужно написать %n, где «n» — номер аргумента, считая от одного(не от нуля), вот код, считающий сумму первого и второго аргумента (их может быть от нуля до 9-и):
@echo off
set /a res=%1+%2
echo res
pause
Метка — это именованное место в коде, она создается с помощью команды «:name»
А этот переходит на метку :m и продолжает выполнение, начиная с нее
rem куча кода
:m
rem куча кода
goto m
rem куча кода
И в завершение статьи, хочу сказать о команде call. Она превращает в последующей команде «%%» в «%», а переменные — на их значения. Пример использования:
call echo %%str:~%a%,%b%%%
BAT-файлы, или, как их еще называют опытные пользователи, «батники» — это текстовые файлы с расширениями .bat
или .cmd
, которые хранят набор команд и выполняют их в терминале операционной системы. Такие файлы необходимы для автоматизации стандартной работы пользователей в Windows.
В данной статье будет подробно рассказано о всех процессах взаимодействия с bat-файлами, их работе и основных командах, которые используются в процессе создания таких файлов.
В данном разделе статьи поговорим о взаимодействии с bat-файлами. Для начала пройдемся по требованиям, которых будет достаточно для написания своего первого «батника»:
- Устройство с операционной системой Windows.
- Наличие блокнота, либо другого текстового редактора. Рекомендуем использовать редакторы с встроенной подсветкой синтаксиса — например, Notepad++.
Создание bat-файла
Перейдем к созданию bat-файла. Для этого откроем любой текстовый редактор и заполним его некоторым содержимым. В качестве примера, создадим bat-файл, который будет выводить в окне интерпретатора командной строки сообщение «Hello, user!»:
@echo off
echo Hello, user!
pause
Теперь необходимо сохранить файл, используя расширение .bat
. Для этого переходим в меню и выбираем «Сохранить как…», как показано на картинке ниже.
Далее необходимо выбрать тип файлов в открывшемся окне. Для этого открываем соответствующий выпадающий список и выбираем «Все файлы», а в строке выше указываем имя файла и его расширение. Результат продемонстрирован на картинке ниже.
Пример выше подходит для пользователей, которые используют блокнот в качестве текстового редактора. Если пользователь использует Notepad++, то в типе файла выбираем «Batch file», как показано на рисунке ниже.
Если вдруг пользователь сохранил файл с неправильным расширением — ничего страшного. Это можно исправить, переименовав файл и указав правильное расширение. Чтобы это сделать, необходимо включить отображения расширений во вкладке проводника «Вид».
Запуск bat-файла
Чтобы запустить bat-файл, достаточно кликнуть по нему два раза левой кнопкой мыши. Стоит учитывать, что некоторые «батники» могут содержать команды, требующие прав администратора. Такие файлы сами не запрашивают расширенных прав, поэтому их нужно запускать исключительно от имени администратора, используя правую кнопку мыши.
Перечисленные выше методы запуска допустимы только в тех случаях, когда пользователь не ожидает ответа после запуска «батника». Если же запуск подразумевает какое-то системное сообщение или численный результат как ответ на выполнение команд, тогда необходимо выполнять запуск, используя интерпретатор командной строки.
Чтобы запустить интерпретатор командной строки, достаточно выполнить сочетание клавиш WIN+R, вписать в поле ввода cmd
и нажать клавишу Enter. В результате откроется окно командной строки, в которое необходимо перенести нужный файл для его запуска и нажать клавишу Enter.
После выполненных действий, «батник» начнет выполнение команд и отобразит необходимый результат, если это запланировано.
Запустим тестовый файл, который мы создавали немного ранее и посмотрим на результат.
Как видно по картинке выше, сообщение успешно отобразилось.
Настройка периодического запуска
Полезная функция при работе с bat-файлами – это возможность запускать их с некоторой периодичностью. Для реализации понадобится встроенный в Windows сервис — «Планировщик заданий».
Откроем «Планировщик заданий». Для этого используем комбинацию клавиш WIN+R и вводим taskschd.msc
в поле ввода, после чего нажимаем клавишу Enter.
В открывшемся окне планировщика выбираем в правом меню «Действия» пункт «Создать простую задачу…». После этого откроется окно «Мастер создания простой задачи», в которой пользователю будет предложено заполнить 4 вкладки:
- Создание простой задачи. Здесь будем указывать имя и описание задачи.
- Триггер. Данная вкладка отвечает за выбор периода (как часто будет запускаться bat-файл и в какое время).
- Действие. Здесь необходимо выбрать запуск программы и нажать «Далее». После этого пользователь указывает путь до необходимого «батника».
- Завершение. В данной вкладке происходит проверка всех введенных данных.
По завершении заполнения всех вкладок bat-файл добавляется в расписание Windows и будет автоматически запускаться в указанный период.
Синтаксис написания bat-файла
Ниже будут представлен список основных правил, которые нужно знать при написании bat-файла:
- Любая команда должна быть определена с новой строки.
- Указанные в файле команды выполняются строго по порядку, от первого к последнему. Исключением являются те случаи, когда внутри файла организован переход от одной части к другой (например
goto
). - Чтобы исключить возможные ошибки, директории указываются в кавычках.
|Y|
указывается перед командами, которые требуют подтверждения (Напримерdel
илиformat
).- Возможно указывать два типа команд: встроенные и внешние. Первые — это команды самого интерпретатора командной строки (о них мы поговорим позже). Ко второму типу относятся все возможные исполняемые файлы (расширения
.EXE
,.CMD
или.BAT
). - Для отключения отображения командной строки в открывшемся окне интерпретатора, после запуска «батника», используется
@echo off
в начале файла.
cloud
Комментирование
Оставлять комментарии во время написания bat-файла возможно тремя способами:
rem
. После ее объявления указывается необходимый комментарий.
rem текст_комментария
- Двойное двоеточие. Работает аналогично команде
rem
.
:: текст_комментария
goto
. К ней нужен особый подход, так как она используется не только для комментирования, но и для перехода к другой части bat-файла. После объявление команды указывается метка (в примере ниже —start
).
goto start
текст_комментария
:start
Для каждого комментария должна быть объявлена своя уникальная метка.
Основные команды
Ниже в таблице представим основные команды, использующиеся при написании bat-файла, а также аргументы к ним и их описание.
Команда |
Аргумент |
Описание |
|
Каталог |
Переход к указанному каталогу (пустой аргумент — возвращение текущей директории). |
|
— |
Приостановка пакетного файла. |
|
Путь к файлу/команда |
Выполнение указанной программы либо команды в отдельном окне. |
|
Каталог |
Создание каталога. |
|
Исходные файлы (путь к ним) и каталог/имя, куда копировать |
Копирование одного или нескольких файлов в указанный каталог. |
|
Имя файла или каталога |
Удаление одного или нескольких файлов. |
|
Путь до файла для запуска |
Запуск пакетного файла из другого. |
|
Имя заголовка |
Изменение заголовка окна. |
|
Исходный и конечный путь к файлу/файлам |
Перемещение одного файла или группы файлов из одного каталога в другой. |
|
Цвет фона и текста (задается цифрой либо буквой) |
Изменение цветов текста и фона. |
|
— |
Завершение работы пакетного файла. |
Это не полный список. Чтобы ознакомиться со всеми командами, достаточно написать в строке интерпретатора командной строки help
, как показано на картинке ниже.
Переменные
Кроме команд, стоит упомянуть о переменных, которые также можно использовать при написании bat-файла.
Для добавления переменной существует команда set
. Чтобы объявить переменную, необходимо написать в строке set
, а затем ее имя и значение. Если необходимо обратиться к переменной и считать ее значение, то к имени переменной слева и справа добавляется символ %
. Приведем ниже пример:
@echo off
set example=Hello, user!
echo %example%
pause
Учитывайте, что пробелы перед знаком равенства и после не ставятся, иначе программа не будет работать. Результат запуска «батника» из примера выше продемонстрирован на картинке ниже.
Также, при объявлении переменной можно воспользоваться флагом /a
, который отвечает за присваивание переменной числа. Например:
@echo off
set /a example=2*3
echo %example%
pause
При отсутствии такого флага, переменной присваивается вся строка после знака равенства. Результат представленной выше программы продемонстрирован на картинке:
Кроме обычных переменных существуют переменные аргумента. Данным переменным присваиваются значения, которые передаются в момент вывоза bat-файла. Выглядят они следующим образом: %1
, %2
, %3
и т.д.
Приведем пример для лучшего понимания:
@echo off
@echo First argument variables - : %1
@echo Second argument variables - : %2
@echo Third argument variables - : %3
pause
Во время запуска представленного выше «батника», передадим строку «Hello, user!». Результат будет продемонстрирован на картинке ниже.
Пример bat-файла: удаление ненужных файлов
Во время работы у пользователей часто остаются ненужные файлы, которые необходимо почистить. С этой целью отлично справляется корректно написанный «батник».
Например, у пользователя во время работы появляется много файлов с расширением .txt
в некотором каталоге и его подкаталогах, которые необходимо подчистить. Реализуем для этого случая простой «батник»:
@echo off
del /f /s /q C:\путь_к_каталогу\Example\*.txt
Разберем работу каждого флага:
/f
— данный флаг позволяет удалять все возможные файлы (даже те, что открыты только для чтения)./s
— флаг позволяет удалять файлы не только из каталога, но и его подкаталогах./q
— данный флаг убирает подтверждение удаления файлов.
Теперь создадим каталог Example
и подкаталог ExampleWithTXT
, а после добавим и в первый, и во второй файлы с расширением .txt
, чтобы проверить работоспособность созданного выше «батника»:
mkdir Example
cd Example
mkdir ExampleWithTXT
notepad Example1.txt
notepad Example2.txt
notepad Example3.txt
cd ExampleWithTXT
copy C:\путь_к_каталогу\Example\*.txt
После выполнения всех команд будет создан тестовый каталог Example
с тремя текстовыми файлами и подкаталогом ExampleWithTXT
. В последний были скопированы три текстовых файла из родительского каталога.
Теперь запустим bat-файл и посмотрим на результат. Он будет представлен на картинке ниже.
Все файлы с расширением .txt
были успешно удалены из каталога Example
и подкаталога ExampleWithTXT
.
Заключение
В инструкции был подробно описан процесс создания bat-файлов и дальнейшего взаимодействия с ними. Также были продемонстрированы основные команды и их описание. Следуя инструкции, пользователь сможет создать свой первый «батник» и успешно автоматизировать работу в операционной системе Windows.
В операционной системе Windows есть инструмент, который позволяет автоматизировать рутинные действия. Его называют bat-файл. Однако не все пользователи знают о его возможностях и особенностях настройки. Hi-Tech Mail разобрался, что такое bat-файл, и как его можно использовать.
В Windows много инструментов для автоматизации некоторых процессов, например, планировщик заданий. Но, как правило, такие решения используют ресурсы операционной системы (ОС), а bat-файл как раз требует минимум из них. В материале мы расскажем о том, что такое bat-файл, и как его правильно использовать.
Что такое bat-файл
Bat — это файл текстового типа, содержащий набор команд, предназначенных для автоматизации тех или иных рутинных процессов. Для его выполнения используется командная строка или Windows Powershell. В Windows 11 их может отрабатывать Терминал.
Такие файлы имеют расширение .bat и в большинстве случаев требуют запуска от имени администратора. Сама аббревиатура «bat» происходит от английского словосочетания «batch file», что переводится как «пакетный файл».
Вот для чего можно использовать bat-файлы:
- Автоматизация повторяющихся типов действий. Это рутинные задачи, к которым можно отнести, например, копирование, переименование файлов, создание резервной копии данных и им подобные.
- Отработка скриптов. Для этого обычно используется командная строка или Windows PowerShell. Преимущество скриптов в том, что команды в них выполняются последовательно в автоматическом режиме и не требуют отдельного запуска каждой из них. О том, как открыть командную строку, читайте в нашем материале.
- Конфигурирование системных настроек. С помощью bat-файлов можно менять настройки системы в автоматическом режиме. Например, можно настраивать сеть, изменять настройки безопасности и так далее. Но придется запускать файл .bat от имени администратора.
Как создать bat-файл на Windows
Для создания файла .bat потребуется операционная система Windows и любой текстовый редактор. В большинстве случаев используют встроенный «Блокнот», поскольку он не особо требователен к ресурсам компьютера. В качестве примера мы рассмотрим создание команды, которая выводит в консоли приветствие «Hello! How are you?». Инструкция по созданию bat-файла такая:
-
Щелкните по кнопке «Пуск», перейдите в раздел «Стандартные — Windows» и запустите «Блокнот».
- В блокноте впишите в столбик следующие фразы «@echo off», «echo Hello! How are you?» и «pause».
-
После этого щелкните меню «Файл» в верхней панели и выберите «Сохранить как». Или же можно зажать комбинацию «Ctrl+Shift+S» для вызова диалога сохранения.
- Для сохранения файла можно использовать любую папку, например, «Документы». Выберите ее в диалоговом окне, в строке впишите название файла и обязательно добавьте расширение .bat. В строке «Тип файла» выставьте «Все файлы» и затем нажмите «Сохранить».
Теперь bat-файл успешно создан и может быть запущен для проверки его работоспособности. Однако о вариантах запуска созданного вами файла .bat мы расскажем чуть позже, а пока перейдем к другой теме.
Синтаксис написания bat-файла
Конечно, мы сейчас рассказываем не о языке программирования, но и в процессе создания bat-файла нужно придерживаться определенного синтаксиса. Вот какие правила стоит запомнить:
- Для создания комментариев в любом bat-файле должен в обязательном порядке использоваться символ REM. Он обычно прописывается как двойное двоеточие — «:».
- Основные команды должны записываться только в столбик — это обязательное требование к bat-файлам. Причем запись начинается с верхней строчки. Такая структура необходима для последовательного выполнения команд.
- Переменные для хранения значений должны обладать именами, которые начинаются с символа «%». Сами же значения переменных всегда устанавливаются через оператор «SET». В качестве примера — «SET myVariable=Hello», «echo %myVariable%».
- Если нужно добавить к процессу выполнения команд какие-то особые условия, то для этого нужно использовать операторы «IF» и «FOR». Последний оператор также используется для создания циклов выполнения команд.
Основные команды для работы с bat-файлом
Существует список основных команд, которые могут быть использованы в bat-файле. Выглядит этот список так:
Команда | Аргумент | Описание |
cd | Каталог | Команда для перехода в другой каталог, который впоследствии станет рабочим |
start | Путь к файлу или команда | Это команда для запуска выполнения скрипта, команды или программы в отдельном окне |
pause | — | Приостановка выполнения всего пакетного файла |
md | Каталог | Команда для создания нового каталога |
copy | Исходные файлы (путь к ним) и каталог или имя, куда копировать | Копирование одного или нескольких файлов в указанный каталог |
del | Имя файла или каталога | Удаление одного или нескольких файлов из конкретного каталога |
call | Путь до файла для запуска | Команда запуска еще одного пакетного файла из другого |
title | Имя заголовка | Команда для изменения имени заголовка окна |
move | Исходный и конечный путь к файлу или файлам | Запускает процесс перемещения одного или нескольких файлов из одного каталога в другой |
color | Цвет фона или текста, который задается буквой или цифрой | Команда для изменения цвета текста или фона |
exit | — | Команда для завершения работы пакетного файла |
echo | — | Команда для вывода текста или переменных в командную строку или в файл |
Как объявить переменную в bat-файле
Как уже говорилось выше, для установки значений переменных в bat-файле используется оператор «SET». Причем даже в одном файле можно применять сразу несколько типов переменных. Вот какими они бывают:
- Переменные строки: например, «set NAME=value».
- Переменные числа: например, «set /a NUMBER=5».
- Переменные параметров командной строки: например, «set INPUT=%1».
- Переменные операционной системы: например, «set OS_VERSION=%OS%».
- Переменные времени: например, «set CURRENT_DATE=%DATE%».
Как запустить bat-файл на Windows
Запуск файла типа .bat в ОС Windows может происходить по разным сценариям. Чаще всего для запуска используют проводник или другой файловый менеджер, реже применяют командную строку. Мы рассмотрим оба варианта для того, чтобы у вас был выбор.
Через проводник
Это самый простой и доступный каждому вариант. Проводник позволяет даже новичкам легко запустить bat-файл. Вот что нужно для этого сделать:
-
Запустите проводник, переместитесь в каталог с сохраненным bat-файлом, щелкните по нему правой кнопкой мыши и выберите «Запуск от имени администратора».
-
Файл сразу же начнет работу. После выполнения скрипта можно будет закрыть окно с командной строкой.
Таким образом можно запускать любые файлы с расширением .bat и скрипты — они в любом случае отработают нормально. Только нужно не забывать запускать их от имени администратора.
Через командную строку
Этот способ предназначен для тех, кто предпочитает больше работать с командной строкой, чем с проводником. Вот как открывать bat-файл из командной строки:
-
Нажмите сочетание клавиш «Win+R» в строке введите «cmd» и нажмите «ОК».
- При помощи команды «cd» перейдите в каталог с bat-файлом: например, «cd Documents». После ввода команды нажмите «Enter».
-
После перехода в нужную папку введите имя файла вместе с расширением и нажмите «Enter».
- Когда скрипт отработает, закройте окно консоли.
Такой вариант запуска bat-файла сработает даже если система не запускается, и вы смогли запустить из среды восстановления только консоль.
Как редактировать и удалять bat-файлы
Отредактировать файл .bat можно в том же блокноте. Достаточно кликнуть правой кнопкой мыши по файлу, выбрать в появившемся меню «Изменить», и файл сразу откроется в блокноте. Для сохранения отредактированной версии можно использовать то же меню, которое применялось при создании файла — «Сохранить как».
Удалять bat-файлы можно точно так же, как и все другие — через соответствующее меню. Нужно найти необходимый файл в проводнике, щелкнуть по нему правой кнопкой мыши, выбрать в появившемся меню «Удалить» и подтвердить действие. Если удаленные объекты сохраняются в корзину, не забудьте ее очистить.
Как убедиться, что команды выполняются корректно
Нужно смотреть на вывод терминала. Если команды в bat-файле отработаны успешно, это будет видно. Если же есть какое-то сообщение об ошибке, это значит, что команды не отработали, то есть в структуре bat-файла ошибка, и ее нужно устранять.
Как указать путь в bat-файле
Для того, чтобы указать путь к файлу в bat, нужно придерживаться формулы «C:\имя_папки\имя_файла.расширение». Можно также перейти сразу в папку с нужным файлом при помощи команды «cd» и выполнять операции с файлом уже в ней. Для перехода нужно прописать «cd /имя_папки».
Что делать, если bat-файл не запускается
Иногда случается так, что bat-файлы по какой-то причине не запускаются. Вот что можно сделать для исправления ситуации:
- Если bat-файл не запускается, в первую очередь попробуйте запустить его от имени администратора — некоторые подобные файлы требуют расширенных прав.
- Если вы пытаетесь запустить bat из проводника, и он не стартует, попробуйте выполнить запуск из командной строки — иногда это позволяет решить проблему.
- Если предыдущие действия не помогли, откройте файл блокнотом и поищите ошибки в синтаксисе — возможно, bat не работает по этой причине.
- Попробуйте перезагрузить компьютер — иногда после рестарта Windows проблема пропадает.
- Если перезагрузка не помогла, возможно, отсутствуют какие-то важные системные файлы — наберите в консоли команду восстановления «sfc /scannow» и после ее выполнения перезагрузите ПК.
- Иногда такой эффект могут дать вирусы — проверьте систему на наличие вредоносного ПО.
Главное о bat-файлах
Подведем итоги и выделим, что нужно запомнить о bat-файлах, их создании и использовании.
- Bat-файлы позволяют автоматизировать выполнение некоторых рутинных команд, которые иногда нужно выполнять в среде Windows.
- Создать bat-файл можно при помощи обычного блокнота — простейшего текстового редактора, входящего в состав Windows.
- Для создания bat-файла нужно использовать команды с соответствующим синтаксисом, иначе ничего работать не будет.
- Запустить bat-файл можно либо через проводник, либо через командную строку — иногда могут потребоваться права администратора.
- Bat-файл можно легко отредактировать в том же блокноте.