BAT-файлы: что это такое, зачем они нужны и как их создавать
Статья
Время чтения
10 минут
BAT-файлы, или, проще говоря, «батники», пригодятся тем, кто хочет автоматизировать выполнение рутинных задач на Windows. Например, создавать бэкапы, удалять временные файлы, активировать программы и приложения.
Что важно запомнить
→ BAT-файл (от английского batch file, переводится как «пакетный файл») — серия последовательных директив, собранных в документ с расширением .bat или .cmd. При запуске такого документа стартует командный процессор Windows и выполняет команды по очереди.
Отметим, что файлы с расширением .bat будут корректно обработаны как относительно новым интерпретатором CMD.EXE, так и «старичком» COMMAND.COM. А с расширением .cmd — окажутся по зубам только CMD.EXE.
Обзор BAT-файлов и их предназначения
Чаще всего BAT-файлы применяются, чтобы автоматически выполнять консольные команды. С их помощью это проще, чем с использованием любого другого языка программирования. Причиной тому их уникальная простота, которая позволяет создавать сложные и многокомпонентные скрипты — например, при желании в «батнике» можно написать даже тетрис — без каких-либо дополнительных ухищрений и инструментов.
BAT-файлы сильно упрощают ежедневную работу в Windows, позволяя…
…забыть о выполнении скучных рутинных задач типа создания бэкапов, переименования и удаления. Все, что для этого потребуется — прописать простой скрипт с рядом простых команд.
…больше не контролировать исполнение скриптов. С BAT-файлами можно создавать и активировать многокомпонентные наборы команд — даже десятки и сотни их будут аккуратно выполняться в заданном порядке без участия пользователя.
…не заниматься ручной настройкой системы. Все механические действия, которые нужно выполнять, чтобы не утонуть в океане технического «мусора» Windows — например, временных и ненужных файлов, поврежденных ключей и ярлыков — можно делегировать «батникам». Таким образом текстовые скрипты избавят вас от необходимости регулярной настройки целого ряда системных параметров системы.
Пишем BAT-файл
Перечень того, что нужно для написания BAT-файла, состоит всего из двух компонентов. Это:
компьютер на Windows;
любой текстовый редактор: подойдет как бесхитростный «Блокнот», так и Notepad++ или другой редактор с возможностью подсветки синтаксиса — с такими программами управлять длинным списком команд будет проще.
Создание BAT-файла с нуля
С теорией разобрались, идем к практике — пишем простейший «батник». Он позволит вывести сообщение «Hello!» в интерпретатор Windows.
Введем скрипт «Блокноте»:
Получившийся скрипт сохраним с расширением .bat: в верхнем горизонтальном меню выберем вкладку «Файл», нажмем «Сохранить как…» и дадим название:
Готово! При запуске в командном процессоре будет отображаться сообщение «Hello!»:
Запуск BAT-файла
Проще всего стартануть BAT-файл, два раза кликнув по нему левой кнопкой мыши. Но есть и другие способы. Например, можно нажать на иконку файла правой кнопкой мыши и выбрать «Открыть» или «Запуск от имени администратора» — это пригодится, если нужный «батник» открывается только при наличии у пользователя расширенных прав.
Описанные выше способы подойдут, если при запуске «батника» не требуется ответ. Другое дело, когда по итогу выполнения ожидается какое-либо сообщение от системы или числовой результат. В этом случае нужно:
перейти в командную строку Windows — набрать сочетание клавиш WIN+R и ввести cmd;
зайти в папку с нужным файлом и выполнить его.
Настройка периодического запуска
«Батники» очень полезны в создании периодических задач. Для того чтобы настроить их активацию, нужно использовать встроенный «Планировщик заданий» Windows.
Чтобы использовать «Планировщик», введем комбинацию WIN+R, добавим taskschd.msc и нажмем Enter. Увидим следующее:
Дальше в горизонтальном меню выберем «Действия» и перейдем во вкладку «Создать простую задачу…».
В открывшемся окне можно будет настроить условия выполнения задачи:
назвать и описать ее;
настроить регулярность;
выбрать «Запуск», «Отправка» или «Вывод сообщения» в качестве действия;
проверить все настройки и активировать собранный скрипт.
Команды и синтаксис
Теперь давайте рассмотрим ключевые для BAT-файлов команды и посмотрим, как добавлять их в интерпретатор, чтобы все работало, как по нотам.
→ Важно понять: командный интерпретатор всегда работает последовательно, запуская команды по очереди, строка за строкой. Исключение лишь одно: GOTO отправит интерпретатор к указанной строке, с которой он вновь начнет выполнять задачи сверху вниз.
Есть несколько ключевых положений, которые помогут при работе с BAT-файлами:
Правило 1. Все команды начинаются с новой строки.
Правило 2. Использовать можно встроенные и внешние команды.
Правило 3. Директории важно указывать в кавычках — так при выполнении скриптов не возникнет ошибок.
Правило 4. Если команде нужно подтверждение, можно поставить перед ней ключ /-Y.
Правило 5. Чтобы просто запустить команду — без вывода сообщений об отображении в консоль — следует добавить @echo off в начало.
Основные команды
Интерпретатор Windows может обрабатывать команды двух типов:
Внешние. Ими могут быть любые файлы с расширениями .exe, .cmd или .bat, которые есть в операционной системе.
Встроенные. Те команды, которые добавлены в функциональность интерпретатора изначально.
Вот несколько примеров часто используемых встроенных команд:
Объявление переменных
Код внутри BAT-файлов содержит множество динамических элементов, которые могут меняться, не нарушая логику «батника». Существует целый список переменных сред — текстовых переменных Windows, хранящих данные о ряде настроек системы. Они задаются в виде %значение%: например, %USERNAME%, %COMPUTERNAME%, %DATE%, %TIME%. Чтобы их устанавливать, удалять или просматривать используется команда set.
Чтобы объявить переменную с помощью set нужно ввести следующий текст:
Чтобы понять принцип работы скрипта с переменной, давайте разберем каждую строку по очереди:
@echo off отключает вывод команд: благодаря ей мы видим только добавленный нами текст;
set example=Hello! создает саму переменную и записывает в нее текст (важно не ставить пробелы перед знаком равенства — с ними скрипт не сработает);
echo %example% выводит значение на экран;
pause удерживает интерпретатор открытым.
Вот, что мы увидим в результате:
Числовая переменная добавляется в скрипт с помощью флага /a:
Комментирование строк
В BAT-файлах может быть очень много строк кода. Поэтому при работе с ними стоит использовать комментарии — даже сторонним пользователям они помогут понять логику скрипта и разобраться в командах. Добавлять комментарии можно смело: они не отображаются при запуске и не влияют на выполнение.
Чтобы добавить комментарий, можно использовать либо двойное двоеточие — ::, либо команду rem:
А если вы хотите добавить комментарий в несколько строк, нужно использовать команду goto:
Примеры использования
Как мы говорили выше, чаще всего BAT-файлы используются для автоматизации выполнения рутинных задач и, как следствие, сокращения затрачиваемого на них времени. Поэтому давайте разберем, как создавать самые базовые и часто используемые команды.
Резервное копирование
Предположим, вы хотите регулярно копировать все текстовые файлы из папки «Документы». Для решения этой задачи тоже можно написать скрипт и делать бэкапы автоматически:
Шаг 1. Первым делом пишем в приложении «Блокнот» команду @echo off — она скроет технические строки о ходе выполнения скрипта.
Шаг 2. Если хотим вывести русскоязычный текст, то второй строкой вводим chcp 65001.
Шаг 3. Далее добавляем md с директорией — md: "C:/backup/%DATE%". Благодаря этой команде в указанной папке будет легко найти нужный бэкап по дате создания.
Шаг 4. Теперь копируем содержимое папки «Документы» с помощью параметра %USERNAME%: xcopy “C:/Users/%USERNAME%/Documents" “C:/backup/%DATE%”.
Шаг 5. Далее скачиваем и устанавливаем программу для архивации бэкапов 7-zip, вводим cd и переходим к ней с помощью параметра -tzip: cd “C:/backup/%DATA%" "C:/Program Files/7-Zip/7z.exe" -tzip a %DATE%.zip %DATE%.
Дополнительно добавляем в командную строку уведомления с помощью команды echo — они будут сообщать нам о начале и завершении выполнения скрипта.
В итоге получаем такой скрипт:
Одновременный запуск нескольких программ
Иногда при работе в ОС Windows нужно запустить несколько приложений одновременно. Для этого можно написать файл со start в сочетании с путем к указанному файлу.
Например, чтобы одновременно запустить браузер Google Chrome, текстовый редактор «Блокнот» и приложение «Службы», нужно ввести такой скрипт:
→ Двойные кавычки в этом скрипте нужны, чтобы открыть сами приложения, а не новые экземпляры командной строки.
Очистка временных файлов
С помощью BAT-скриптов можно автоматически очищать папку с временными файлами Temp — по клику или расписанию. Для этого:
сперва удаляем папку Temp с диска через команду rd с параметрами /s и /q;
затем создаем Temp заново с помощью mkdir.
Обновление IP-адреса
Чтобы вручную обновить IP-адреса в сетевом интерфейсе, проще всего воспользоваться командой ipconfig /renew. Однако при ее выполнении будет отражен длинный вывод. Чтобы перенести его в отдельный текстовый файл, можно использовать rem — она отключает выполнение текущей команды — и указать нужный путь:
Переименование и удаление
Переименовывать файлы можно через команду rename.
При использовании rename важно учитывать, что:
автоматическое переименование допустимо только в рамках одного диска или каталога;
переименовывать можно только по маске.
В том случае, если вам нужно удалить с компьютера ненужные файлы, вы также можете воспользоваться «батником». Для этого добавьте в «Блокнот» такие строки:
Советы по использованию BAT-файлов
«Батники» — это простой и эффективный инструмент для автоматизации задач на компьютерах с системой Windows. Больше о доступных командах можно узнать в документации Windows, а познакомиться с подборкой полезных BAT-файлов от пользователей GitHub — здесь.
Совместимость с разными версиями Windows
Несмотря на то, что «батники» используются более 40 лет и появились еще при MS-DOS, новые функции в них всегда добавлялись с сохранением обратной совместимости. Например, командный интерпретатор CMD.EXE, добавленный в системы семейства Windows NT — от Windows 2000 и далее — до сих пор поддерживает запросы к файлам и каталогам, созданным по правилам изначального интерпретатора COMMAND.COM.
Настройка BAT-файлов для работы с облачными сервисами и серверами
BAT-скрипты можно использовать для оптимизации работы с облачными сервисами. Принцип такой же, как и при работе с внутренними приложениями Windows. Например, в облаке Cloud.ru с помощью BAT-файла можно заскриптовать копирование бэкапов в объектное хранилище S3.
Заключение
Пользователи операционной сети Microsoft Windows продолжают использовать BAT-скрипты каждый день. Они позволяют не тратить время на ручное выполнение рутинных задач типа чистки временных файлов или создания бэкапов.
Конечно, BAT-файлы — это не единственное решение для автоматизации ежедневной работы в операционной системе. Например, существует PowerShell — современное кроссплатформенное решение, которое поддерживает сразу Windows, Linux и macOS и включает оболочку командной строки, скриптовый язык и платформу управления конфигурацией. Но долгосрочный успех BAT-скриптов сложно отрицать, ведь они все еще используются повсеместно.
Секрет BAT-скриптов в простоте — разобраться, как они работают, и быстро начать применять их сможет даже человек без высоких навыков в программировании. Чтобы ими пользоваться не нужно подключать никаких библиотек или заучивать дополнительные ключевые слова и знаки препинания. Достаточно один раз понять механизм создания алгоритмов и взять на вооружение небольшой список базовых команд.