#статьи
-
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.
Учиться бесплатно →
В операционной системе 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-файл можно легко отредактировать в том же блокноте.
Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем 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.
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.
Что важно запомнить
→ 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-скриптов в простоте — разобраться, как они работают, и быстро начать применять их сможет даже человек без высоких навыков в программировании. Чтобы ими пользоваться не нужно подключать никаких библиотек или заучивать дополнительные ключевые слова и знаки препинания. Достаточно один раз понять механизм создания алгоритмов и взять на вооружение небольшой список базовых команд.