Bat-файлы: создание, настройка и основные команды

    Команда Simple-Server
    03.06.2026
    9 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Взаимодействие с bat-файлами

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

    1. Устройство с операционной системой Windows.
    2. Наличие блокнота, либо другого текстового редактора. Рекомендуем использовать редакторы с встроенной подсветкой синтаксиса — например, Notepad++.

    Перейдем к созданию bat-файла. Для этого откроем любой текстовый редактор и заполним его некоторым содержимым. В качестве примера, создадим bat-файл, который будет выводить в окне интерпретатора командной строки сообщение «Hello, user!»:

    @echo off echo Hello, user! pause

    Теперь необходимо сохранить файл, используя расширение .bat. Для этого переходим в меню и выбираем «Сохранить как…», как показано на картинке ниже.

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

    Пример выше подходит для пользователей, которые используют блокнот в качестве текстового редактора. Если пользователь использует Notepad++, то в типе файла выбираем «Batch file», как показано на рисунке ниже.

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

    Чтобы запустить 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 в начале файла.

    Оставлять комментарии во время написания bat-файла возможно тремя способами:

    1. rem. После ее объявления указывается необходимый комментарий.

    2. Двойное двоеточие. Работает аналогично команде rem.

    3. goto. К ней нужен особый подход, так как она используется не только для комментирования, но и для перехода к другой части bat-файла. После объявление команды указывается метка (в примере ниже — start).

    goto start текст_комментария :start

    Для каждого комментария должна быть объявлена своя уникальная метка.

    Ниже в таблице представим основные команды, использующиеся при написании bat-файла, а также аргументы к ним и их описание.

    КомандаАргументОписание
    cdКаталогПереход к указанному каталогу (пустой аргумент — возвращение текущей директории).
    pause-Приостановка пакетного файла.
    startПуть к файлу/командаВыполнение указанной программы либо команды в отдельном окне.
    mdКаталогСоздание каталога.
    copyИсходные файлы (путь к ним) и каталог/имя, куда копироватьКопирование одного или нескольких файлов в указанный каталог.
    delИмя файла или каталогаУдаление одного или нескольких файлов.
    callПуть до файла для запускаЗапуск пакетного файла из другого.
    titleИмя заголовкаИзменение заголовка окна.
    moveИсходный и конечный путь к файлу/файламПеремещение одного файла или группы файлов из одного каталога в другой.
    colorЦвет фона и текста (задается цифрой либо буквой)Изменение цветов текста и фона.
    exit-Завершение работы пакетного файла.

    Переход к указанному каталогу (пустой аргумент — возвращение текущей директории).

    Приостановка пакетного файла.

    Выполнение указанной программы либо команды в отдельном окне.

    Исходные файлы (путь к ним) и каталог/имя, куда копировать

    Копирование одного или нескольких файлов в указанный каталог.

    Удаление одного или нескольких файлов.

    Путь до файла для запуска

    Запуск пакетного файла из другого.

    Изменение заголовка окна.

    Исходный и конечный путь к файлу/файлам

    Перемещение одного файла или группы файлов из одного каталога в другой.

    Цвет фона и текста (задается цифрой либо буквой)

    Изменение цветов текста и фона.

    Завершение работы пакетного файла.

    Это не полный список. Чтобы ознакомиться со всеми командами, достаточно написать в строке интерпретатора командной строки 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.


    Нужен сервер для практики? Закажите VPS на Simple-Server — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация? Посмотрите все доступные тарифы

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны