Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как на компьютере под управлением Windows запустить BAT-файл (пакетный файл). Такие файлы используются для различных целей, например, для автоматизации процессов. BAT-файл можно запустить с помощью Проводника или командной строки.
-
Для этого нажмите на логотип Windows в нижнем левом углу экрана.
-
Вы найдете эту опцию в левой части меню «Пуск».
- Также можно щелкнуть правой кнопкой мыши по логотипу Windows, а затем нажать «Проводник».
СОВЕТ СПЕЦИАЛИСТА
A wikiHow Staff Editor reviewed this article to make sure it’s clear and accurate.
Если «Проводника» в меню «Пуск» нет, кликните по логотипу Windows правой кнопкой мыши и выберите «Свойства».
Выберите папки для отображения в меню «Пуск». В данном случае выберите «Проводник».
То же самое можно проделать с папками «Видео», «Музыка», «Загрузки» и так далее. -
Также можно найти этот файл: щелкните по «Этот компьютер» на левой панели окна, а затем введите имя файла в строке поиска в верхнем правом углу окна.
-
Он должен запуститься. Если нет, запустите файл как администратор.
-
Щелкните правой кнопкой мыши по BAT-файлу и в меню выберите Запуск от имени администратора. Возможно, вам придется запустить файл от имени администратора — это зависит от содержимого BAT-файла.
- В большинстве случаев работа BAT-файла на экране не отображается, потому что все происходит в фоновом режиме. Выясните, для чего предназначен пакетный файл, потому что даже если вы не видите результаты его работы, он, скорее всего, успешно справился со своими задачами.
Реклама
-
Для этого нажмите на логотип Windows в нижнем левом углу экрана.
-
По мере ввода поискового запроса под ним будут отображаться результаты поиска.
-
Этот значок имеет вид черного квадрата с белыми символами.
-
Возможно, вам придется запустить командную строку от имени администратора — это зависит от содержимого BAT-файла.
-
«cd» — эта команда для изменения каталога, а путь — это расположение папки с BAT-файлом. Например, если пакетный файл находится на рабочем столе пользователя «Иван», введите:
cd /Пользователи/Иван/Рабочий стол.- Обязательно вставьте пробел между командой «cd» и расположением файла.
-
Текущий каталог изменится на папку с BAT-файлом.
-
Не забудьте про расширение .bat. Например, если BAT-файл называется «install», в командной строке введите install.bat.
-
BAT-файл будет запущен. Как только на экране отобразится мигающий курсор, считайте, что пакетный файл завершил работу.
- Если в командной строке отобразилось сообщение об ошибке, внимательно прочитайте его, чтобы внести изменения в код BAT-файла.
Реклама
Об этой статье
Эту страницу просматривали 106 694 раза.
Была ли эта статья полезной?
Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем Windows.
Что такое bat-файлы?
BAT-файл — это последовательность команд для интерпретатора командной строки в виде текстового файла с расширением .bat или .cmd. Основное предназначение пакетных файлов — автоматизация рутинных действий пользователя компьютера.
Название BAT появилось от английского batch — пакетная обработка. В истории продуктов Microsoft пакетные файлы существовали с первой версии MS-DOS в 80-х годах и позже успешно интегрировались в Microsoft Windows. В MS-DOS командным интерпретатором выступает COMMAND.COM, а начиная с Windows NT и до сих пор используется CMD.EXE.
Интерпретатор COMMAND.COM принимает файлы с расширением .BAT. Расширение .CMD создано для интерпретатора CMD.EXE с целью различать файлы для «старого» и «нового» интерпретаторов. CMD.EXE корректно обрабатывает оба расширения.
Интерпретатор CMD.EXE является частью современных операционных систем семейства Microsoft Windows, несмотря на отсутствие развития с начала 2000-х.
Основы взаимодействия с bat-файлами
Пакетный файл bat — это текстовый документ со специальным расширением. Для создания своего первого bat-файла достаточно «Блокнота», который доступен в операционной системе. Для повышения удобства написания и поддержки bat-файлов рекомендуем использовать Notepad++ или любой другой текстовый редактор с подсветкой синтаксиса.
Создание bat-файлов
Для создания пакетных файлов необходимо открыть текстовый редактор и в меню Файл выбрать Сохранить как….
В появившемся окне выбрать Тип файла → Все файлы и задать имя с расширением .bat, как продемонстрировано на изображении выше. По умолчанию Windows скрывает расширения файлов, и пакетный файл можно отличить от текстового по пиктограмме окна с шестеренками.
Если вы ошиблись при сохранении и пакетный файл сохранился с расширением txt, то не обязательно совершать повторное сохранение. Можно включить отображение расширения имен файлов и переименовать файл.
Запуск bat-файлов
Запуск пакетных файлов производится двойным кликом по иконке. Дополнительно можно использовать команду Открыть из контекстного меню, которое доступно при нажатии правой клавиши мыши (ПКМ) по файлу. Если для выполнения команд требуются права администратора, то в том же контекстном меню есть пункт Запуск от имени администратора.
Исполняемые bat-файлы не могут запрашивать права администратора, если командам нужны расширенные права.
Запуск через контекстное меню откроет командный интерпретатор, в котором выполнятся команды bat-файла. По завершении команд окно закроется. Такое поведение неприемлемо, если от пакетного файла требуется какая-то обратная связь — например, сообщение об ошибке или результат вычислений. В таком случае интерпретатор следует запустить вручную и передать ему пакетный файл.
Для запуска интерпретатора командной строки необходимо открыть меню Выполнить сочетанием клавиш Win + R, вписать cmd и нажать ОК.
Для запуска пакетного файла его необходимо перенести мышкой в открывшееся окно и нажать Enter. Команды bat-файла будут выполнены, а его вывод вы увидите на экране.
Вне зависимости от способа запуска откроется окно, которое может привлекать внимание и раздражать. Для запуска в «скрытом» режиме необходимо использовать другой скриптовой язык Microsoft Windows — VBScript.
По аналогии создаем файл с расширением .vbs и заполняем его следующими командами:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "С:\путь\до\вашего\скрипта.bat" & Chr(34), 0
Set WshShell = Nothing
Для скрытого запуска следует запускать созданный файл, а не bat-файл. Скрытый запуск bat-файла актуален для автоматизации действий по расписанию, например, создание резервной копии.
Запуск по расписанию
За выполнение действий по расписанию отвечает Планировщик заданий. Открываем меню Выполнить и запускаем программу taskschd.msc.
Выбираем пункт Создать простую задач и заполняем параметры задания:
- имя для простой идентификации,
- периодичность и время запуска,
- действие — Запустить программу,
- программа или сценарий — путь до вашего .bat-файла или .vbs-файла, который запускает .bat-файл скрытно.
Обратите внимание, что планировщик позволяет не только выполнять действие по времени, но и при наступлении события — например, при загрузке компьютера. Такой подход является альтернативой автозагрузке.
В случае разработки собственного bat-файла следует ознакомиться с основами командного интерпретатора.
Команды и синтаксис пакетных файлов
Командный интерпретатор выполняет команды из файла последовательно — строка за строкой. Исключение составляет только оператор GOTO, который «отправляет» к указанной строке. Командный интерпретатор выполняет два вида команд: встроенные команды и внешние исполняемые файлы.
Внешние исполняемые файлы — это любой исполняемый файл, то есть с расширением EXE, CMD или BAT, который доступен в операционной системе. Например, «Блокнот» — это исполняемый файл notepad.exe. Следующая команда приведет к запуску этого приложения с открытым файлом C:\1.txt:
notepad.exe C:\1.txt
Аргументом может быть не только путь, но и ключ — специальный аргумент, который начинается с символа слэш (/). У каждой программы свой «реестр» ключей и их значений.
Обратите внимание, что не все внешние команды «понимают» аргументы, переданные из интерпретатора командной строки. Например, исполняемый файл приложения калькулятор, calc.exe, игнорирует все аргументы командной строки. Внешним исполняемым файлом может быть в том числе другой bat-файл.
Встроенные команды — это команды, которые являются частью интерпретатора командной строки. Полный список команд доступен по команде HELP. Данные команды не имеют отдельного исполняемого файла.
Иногда в имени файла или каталога встречаются пробелы. Наиболее очевидный пример — каталог Program Files на диске C. В этом случае помогают кавычки. Их можно расставить различными способами. Например:
cd "C:\Program Files\123"
cd C:\”Program Files”\123
Операционная система Windows запрещает использование множества специальных символов в именах файлов, в том числе кавычки, поэтому проблем с указанием файлов не возникнет.
Оставлять комментарии при разработке — хороший тон. Так можно объяснить выполняемые действия и потенциальные ошибки. В пакетных файлах можно оставлять комментарии несколькими способами.
Официальный способ — команда rem или два двоеточия.
rem Это первый комментарий
:: Это тоже комментарий
Перечисленные команды позволяют оставлять однострочные комментарии. Если хочется оставить развернутый многострочный комментарий, то прибегают к хитрости с командной GOTO.
goto start
===
Здесь можно оставить большой комментарий,
лицензию или даже ASCII-арт
===
:start
В конце комментария задаем имя метки, а в начале комментария выполняем команду GOTO c именем метки. Этот способ требует внимания, так как для каждого комментария должна быть своя метка, иначе выполнение bat-файла может отличаться от ожидания разработчика.
Совместимость с MS-DOS
В старых ОС, таких как MS-DOS, было ограничение на отображение имени файлов. На экран выводилось восемь символов имени, точка и три символа расширения. Если имя файла превышало по длине восемь символов, то имя файла отображалось по следующей схеме:
<первые шесть символов имени>~<порядковый номер>
Например, каталог Program Files выглядит следующим образом:
Progra~1
В современных операционных системах такое отображение не применяется, но CMD.EXE до сих пор поддерживает такие запросы к файлам и каталогам.
Выберите подходящий из более 100 готовых конфигураций.
Примеры bat-файлов
Рассмотрим несколько примеров bat-файлов. Начнем с базовых команд.
Обновление IP-адреса
Представим простой пример: необходимо обновить аренду IP-адресов на всех сетевых интерфейсах. В командной строке это делается одной командой:
ipconfig /renew
Данная команда генерирует много текстового вывода, который может испугать неподготовленного пользователя. Сама команда также может быть непривлекательной. Поэтому отключим отображение команды и перенаправим вывод выполнения в «никуда». Вместо слова NUL может быть любое имя или путь. Тогда вывод будет перенаправлен в указанный файл.
rem Отключаем отображение команд. Символ @ отключает отображение текущей команды
@echo off
rem Переводим вывод выполнения в устройство NUL, вывод исчезнет
ipconfig /renew > NUL
При запуске такого скрипта появляется черное окно, которое быстро исчезает. Можно оставить простые и понятные пользователю сообщения и не дать окну закрыться.
@echo off
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
rem Эта команда остановит выполнение до тех пор, пока пользователь не нажмет любую клавишу
pause
Скорее всего данный скрипт выведет набор непонятных символов вместо сообщения. Дело в том, что в русскоязычных ОС Windows по умолчанию в CMD.EXE используется кодировка CP866. Блокнот сохраняет в CP1251 (Windows-1251), а Notepad++ — в UTF-8. Для решения проблемы необходимо сменить кодировку интерпретатора командой chcp или сохранить bat-файл в кодировке интерпретатора.
rem Смена кодировки на Windows-1251
chcp 1251 > NUL
rem Смена кодировки на UTF-8
chcp 65001 > NUL
Я сохранил файл в кодировке UTF-8 и итоговый скрипт получился таким:
@echo off
chcp 65001 > NUL
echo Выполняется настройка, пожалуйста, подождите...
ipconfig /renew > NUL
echo Все хорошо.
pause
Создание резервной копии каталога
Перейдем к более жизненной ситуации — создание резервной копии (backup) каталога. Предположим, что каждый архив должен иметь в названии дату создания копии. Создадим каталог, имя которого — текущая дата. Текущая дата хранится в переменной DATE. Для обращения к переменным название переменной помещается между знаками процента.
mkdir %DATE%
cd %DATE%
Копирование файлов в текущий каталог производится командой COPY.
rem файлы 1.txt и 2.txt будут скопированы в текущую папку
COPY C:\1.txt C:\2.txt .
rem файл 3.txt будет сохранен в текущую папку как example.txt
COPY C:\1.txt .\example.txt
Возможно, в резервную копию необходимо дополнить служебную информацию — например, список файлов в корне копии и имя компьютера.
rem Имя компьютера записывается в файл computer.txt
hostname > computer.txt
rem Список файлов в текущем каталоге записывается в files.txt
dir . > files.txt
Обычно резервные копии хранят в zip- или rar-архивах. Из командной строки отлично управляется архиватор 7z.
cd ..
7z -tzip a backup.zip %DATE%
Переименование файлов
Переименование файлов в Windows производится командой RENAME. Однако эта команда имеет свои особенности.
Во-первых, переименование возможно только в рамках одного диска и одного каталога. Между каталогами одного диска допустимо перемещение, а между разными дисками — только копирование.
rename abc.txt cba.txt
Во-вторых, возможно переименование по маске. Допустим, есть список фотографий photo000.jpeg, photo001.jpeg и так далее. Нужно сменить префикс с photo на mobile.
rename photo* mobile*
Если в текущем каталоге есть другие файлы с префиксом photo, а переименовать надо только изображения с расширением jpeg, то команда модифицируется:
rename photo*.jpeg mobile*.jpeg
Удаление файлов
Программы и пользователи оставляют следы работы в виде файлов, которые не удаляются автоматически. К счастью, процесс очистки поддается автоматизации.
Предположим, что в процессе работы пользователя генерируется большое количество файлов с расширением jpeg, которые нужно удалять. На помощь приходит оператор цикла FOR.
rem Ищем все файлы с расширением jpeg в каталоге work
rem Ключ /r включает в поиск все подкаталоги в каталоге work
for /r work %%file in (*.jpeg) do (
rem Выводим имя файла
echo %%file
delete %%i
)
Заключение
Командный интерпретатор CMD.EXE существует долгое время, но, даже несмотря на отсутствия развития, остается востребованным инструментом для автоматизации рутинных действий в операционной системе Microsoft 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-файл можно легко отредактировать в том же блокноте.
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.
#статьи
-
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.
Учиться бесплатно →