Как создать bat-файл в Windows 7/10 – редактируем и сохраняем батник

Bat файлы представляют собой текстовые документы, которые содержат в себе список последовательно выполняющихся команд (инструкций). Они могут быть очень простыми, что обычный пользователь может воспользоваться ими. В сегодняшней теме разберем, что такое батник, как создать bat файл в Windows 7, 8, а также рассмотрим пример пакетного файла.

Сисадмины (продвинутые пользователи) хорошо осведомлены о полезности бат файлов, но обычные пользователи не знакомы с ними, их пугает структура кода и запуск этого сценария. Это печально, поскольку многие отказываются от использования мощного инструмента для выполнения рутинных и повторяющихся задач. Bat файлы могут быть сложными, требуя профессиональных навыков программирования, и простыми.

Батник содержит одну или несколько строк команд, которые выполняются последовательно. Бат файлы имеют расширение (bat или cmd) и выполняются через интерфейс командного интерпретатора. Все команды можно вводить в cmd, но каждый раз вызывать командную строку Виндовс 7, 8 и прописывать код, является рутинной работой, поэтому проще создать bat файл.

Для создания батника потребуется текстовый редактор (блокнот, notepad ++) и список bat команд. Примерный алгоритм смотрите ниже.

1. Создайте текстовый документ, расширение которого txt. Нажмите правой кнопкой на пустой области проводника или другого места. Наведите на «создать» курсор мыши, затем из подменю выберите «текстовый документ». Задайте ему имя, к примеру, batnik.

2. Скачайте notepad ++, затем установите его. Откройте batnik.txt в notepad ++, выберите «кодировки», наведите курсор на «кодировки», «кириллица», нажмите на OEM 866. Проделайте этот шаг, если используете вывод русских слов (пояснений) в сценарии, иначе Вы увидите кракозябры (не корректные символы). Далее пропишите команды. Например, скопируйте такой текст:

smena-kodirovki-v-notepad.jpg

3. Сохраните документ, далее измените тип файла Windows на расширение bat.

4. Двойным щелчком запустите batnik.bat для выполнения последовательности команд. После того как bat файл исполнится, он автоматически закроется.

Еще вы можете запустить блокнот, нажать Win + R, ввести в строку notepad и кликнуть Enter. После прописывания кода, нажмите «файл», а затем «сохранить как». В окне задайте путь сохранения, имя файла с расширением bat и щелкните «сохранить». Аналогичные действия проделайте с notepad ++ для изменения кодировки (шаг 2), если будите использовать русские символы.

sozdanie-bat-fajla-v-bloknote.jpg

Сейчас рассмотрим создание bat файла в Windows 7, 8, который дает сведения о сети, проверяет соединение с интернетом и наглядно показывает действие батников. Создайте бат файл и пропишите такие строки.

primer-bat-fajla.jpg

На самом деле, примеров бат файлов для обучения, скачивания в сети есть огромное количество. Вам достаточно изучить синтаксис и команды, чтобы создать свой батник под свои нужды. Надеюсь, Вы поняли для чего нужны батники, и как создать bat файл в Windows 7,8.

При выполнении повседневных задач, некоторые операции повторяются по несколько раз. Поэтому в таких ситуациях я стремлюсь к уменьшению количества итераций для достижения определенного результата. При этом необходимо чтобы качество осталось на том же уровне.В основном для таких ситуации можно использовать встроенные механизмы (макросы), если вы работаете в программах, которые позволяют это сделать.Но бывает такое, что необходимо выполнить одну и ту же операцию на нескольких компьютерах. Например, прописать/изменить IP-адрес до нового принтера, или же добавить сетевой диск. В этом большую помощь оказывают bat-ники, которые будут выполнять команды, которые мы в них пропишем.Ниже представлена часть команд, которые можно использовать. Вообще, чтобы получить полный список возможных команд необходимо набрать HELP в командной строке (cmd.exe)ASSOC       Вывод либо изменение сопоставлений по расширениям имен файлов.AT               Выполнение команд и запуск программ по расписанию.ATTRIB     Отображение и изменение атрибутов файлов.BREAK      Включение/выключение режима обработки комбинации клавиш CTRL+C.CACLS       Отображение/редактирование списков управления доступом (ACL) к файлам.CALL          Вызов одного пакетного файла из другого.CD               Вывод имени либо смена текущей папки.CHCP          Вывод либо установка активной кодовой страницы.CHDIR        Вывод имени либо смена текущей папки.CHKDSK    Проверка диска и вывод статистики.CHKNTFS  Отображение или изменение выполнения проверки диска во время загрузки.CLS              Очистка экрана.CMD            Запуск еще одного интерпретатора командных строк Windows.COLOR       Установка цвета текста и фона, используемых по умолчанию.COMP          Сравнение содержимого двух файлов или двух наборов файлов.COMPACT  Отображение/изменение сжатия файлов в разделах NTFS.CONVERT  Преобразование дисковых томов FAT в NTFS. Нельзя выполнить преобразование текущего активного диска.COPY    Копирование одного или нескольких файлов в другое место.DATE    Вывод либо установка текущей даты.DEL       Удаление одного или нескольких файлов.DIR        Вывод списка файлов и подпапок из указанной папки.DISKCOMP    Сравнение содержимого двух гибких дисков.DISKCOPY     Копирование содержимого одного гибкого диска на другой.DOSKEY         Редактирование и повторный вызов командных строк; создание макросов.ECHO              Вывод сообщений и переключение режима отображения команд на экране.ENDLOCAL   Конец локальных изменений среды для пакетного файла.ERASE  Удаление одного или нескольких файлов.EXIT     Завершение работы программы CMD.EXE (интерпретатора командных строк).FC          Сравнение двух файлов или двух наборов файлов и вывод различий между ними.FIND             Поиск текстовой строки в одном или нескольких файлах.FINDSTR     Поиск строк в файлах.FOR              Запуск указанной команды для каждого из файлов в наборе.FORMAT     Форматирование диска для работы с Windows.FTYPE   Вывод либо изменение типов файлов, используемых при сопоставлении по расширениям имен файлов.GOTO    Передача управления в отмеченную строку пакетного файла.GRAFTABL Позволяет Windows отображать расширенный набор символов в графическом  режиме.HELP    Выводит справочную информацию о командах Windows.IF           Оператор условного выполнения команд в пакетном файле.LABEL Создание, изменение и удаление меток тома для дисков.MD        Создание папки.MKDIR  Создание папки.MODE  Конфигурирование системных устройств.MORE  Последовательный вывод данных по частям размером в один экран.MOVE  Перемещение одного или нескольких файлов из одной папки в другую.PATH    Вывод либо установка пути поиска исполняемых файлов.PAUSE  Приостановка выполнения пакетного файла и вывод сообщения.POPD  Восстановление предыдущего значения текущей активной папки, сохраненного с помощью команды PUSHD.PRINT          Вывод на печать содержимого текстовых файлов.PROMPT     Изменение приглашения в командной строке Windows.PUSHD Сохранение значения текущей активной папки и переход к другой папке.RD         Удаление папки.RECOVER   Восстановление читаемой информации с плохого или поврежденного диска.REM     Помещение комментариев в пакетные файлы и файл CONFIG.SYS.REN      Переименование файлов и папок.RENAME    Переименование файлов и папок.REPLACE   Замещение файлов.RMDIR Удаление папки.SET        Вывод, установка и удаление переменных среды Windows.SETLOCAL Начало локальных изменений среды для пакетного файла.SHIFT    Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.SORT     Сортировка ввода.START   Запуск программы или команды в отдельном окне.SUBST   Сопоставляет заданному пути имя диска.TIME     Вывод и установка системного времени.TITLE  Назначение заголовка окна для текущего сеанса интерпретатора командных строк CMD.EXE.TREE     Графическое отображение структуры папок заданного диска или заданной папки.TYPE     Вывод на экран содержимого текстовых файлов.VER       Вывод сведений о версии Windows.VERIFY   Установка режима проверки правильности записи файлов на диск.VOL          Вывод метки и серийного номера тома для диска.XCOPY    Копирование файлов и дерева папок.

  • Памятка по основам командных файлов MS-DOS.
  • Памятка по развитым командным файлам MS-DOS.

При работе на компьютере часто возникает необходимость повтора одних и тех же DOS-команд для осуществления периодически исполняемых действий, построения сложной и многоуровневой последовательности исполняемых команд или приложений, автоматизации работы с приложениями и файлами с участием или в отсутствие пользователя. В операционной системе есть возможность записать несколько команд в bat-файле. При этом, просто запуская данный командный файл (часто его называют скрипт, или просто «батник»), можно осуществлять выполнение прописанных команд, а прописав его в событиях планировщика Windows, можно автоматизировать этот процесс.

Особенностью файлов данного типа является отсутствие внутри какого-либо кода — имеется только тактовая информация, которую считывает и исполняет командный DOS-процессор, совместимый практически со всеми версиями операционной системы Windows. Одним из ярких примеров является файл autoexec.bat, который необходим для запуска этой ОС, так как именно он осуществляет ее настройки в ходе запуска.

1196220.jpg

Основные возможности командных файлов

Команды, которые содержит bat-файл, по функционалу можно условно разделить на несколько групп:

1196214.jpg

Выполнение командных файлов

Запуск bat-файлов можно осуществить различными способами. При работе в командной строке в текущем каталоге можно просто вводить имена файлов с дополнительными параметрами или без них. При этом команды bat-файлов после запуска будут выполняться последовательно друг за другом, уже без вмешательства пользователя.

При нахождении командного файла в другом каталоге необходимо кроме полного имени этого файла прописать полный путь до каталога его хранения. Расширение файла также можно не прописывать. Например, текущий каталог d:photowork, а командный файл vera.bat, который нужно выполнить с параметрами resize.doc и /p, находится в каталоге d:photohome. Тогда для того, чтобы осуществился запуск нашего файла, нужно прописать команду d:photohomevera resize.doc /p или команду ..homevera resize.doc /p.

Прерывание работы

Исполняемые после запуска команды bat-файлов можно прервать комбинациями кнопок <ctrl>+<break> и <ctrl>+<c>. На дисплее появится запрос на прерывание выполнения командного файла с запросом, ожидающим ввода Yes или No. Если ввести Y, то выполнение прервется, а оставшийся список команд bat-файла будет проигнорирован. Если введете символ N, то выполнение продолжится со следующей команды из списка.</c></ctrl></break></ctrl>

1196215.jpg

Вызов другого командного файла

Bat-файлы могут содержать в себе ссылки на исполнение других скриптов. Если просто прописать в теле скрипта bat-файл, команды после него уже исполняться не будут, так как управление передается на другой батник и будут выполнены команды уже из него. Если требуется возврат после запуска внутреннего файла, то его можно вызвать командой CALL. Формат команды выглядит так: CALL имя-бат-файла [параметры запуска].

Параметрами, которые передаются вызываемому командному файлу (файлам), обычно являются символы %1 — %9. Когда команды bat-файлов все последовательно будут пройдены, продолжится выполнение исходного скрипта со следующей строки.

1196205.jpg

Пошаговое выполнение

Бывают случаи, когда команды bat-файлов нужно выполнить пошагово (с остановкой после каждой строчки). Наиболее часто такой режим требуется при отладке или тестировании скриптов. Написание команды выглядит так: COMMAND /y/c имя _скрипта [параметры].

При выполнении на каждую команду будет выдаваться запрос Y или N. Если требуется выполнение команды — жмем клавишу Enter или Y. Если нужно пропустить команду — жмем ESC или N.

1196217.jpg

Отключение и включение вывода команд на экран

Когда запускается bat-файл, команды построчно перед выполнением отображаются на экране и после этого выполняются. Иногда это вызывает неудобство, так как при большом батнике команды длинным списком пробегают перед пользователем на экране, а иногда требуется их показ, например, для диалога или отладки. Чтобы bat-файл команды выводил на дисплей, применяется команда ECHO ON. Для отключения этого режима нужно ввести ECHO с параметром OFF. При этом все исполняемые далее команды показываться на экране уже не будут.

Для отключения вывода только какой-либо одной строки батника на экран можно использовать в самом начале этой строки символ @. Чаще всего этот символ можно встретить в паре с командой @ECHO OFF для исключения вывода ее на дисплей монитора. Такой режим часто используют злоумышленники, создавая на основе bat-файлов вирусы или доставляя мелкие и крупные неприятности пользователям компьютеров.

697440.jpg

Сообщения при исполнении команд

Если после команды ECHO будут расположены символы, отличные от ON или OFF, то они будут выводиться на экран в любом режиме. Если ECHO будет без параметров, то она выдает на экран состояние режима отображения исполняемых команд — включен или выключен.

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

Для воспроизведения звукового сигнала нужно вывести стандартный символ с кодом 7. Сделать это можно, нажав клавишу <alt> и «7» на цифровой клавиатуре (с надписью home).</alt>

Для того чтобы повысить удобочитаемость сообщений можно применить команду ECHO с параметром «.» (она ставится сразу за командой без пробела) или специальным символом с кодом 255. На экране это будет выглядеть как пустая строчка.

Команду ECHO можно использовать для вывода сообщений в отдельный файл. Суть ее состоит в перенаправлении вывода сообщений на запись в файл, а не на экран монитора. Для сохранения логов, анкетирования, записи событий можно использовать пакетные файлы bat. Команды вывода имеют следующий формат:

— ECHO-сообщение >> имя файла — команда добавляет строчку в конец существующего файла. Если такого файла в данной директории нет, то создается новый файл.

— ECHO-сообщение > имя файла — этой командой создается новый файл, и в него записывается текущая строчка. В случае наличия такого файла в текущей директории, содержимое его будет удалено и записана команда или ее результат.

Использование комментариев

Для удобства редактирования скриптов используется команда REM. Все находящиеся после нее команды bat-файлов Windows игнорирует при исполнении. Их можно увидеть при редактировании и при пошаговом режиме. Во всех других случаях комментарии на экран выводиться не будут.

1197504.jpg

Команда задержки в bat-файле

Иногда во время выполнения батника возникает необходимость временно остановить исполнение команд, например, для ожидания реакции пользователя, для увеличения времени на прочтение длинного сообщения, для вставки диска, подтверждения присутствия пользователя или для отладки пакетного файла. Команда задержки в bat-файле пишется как PAUSE без параметров. При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры. Если будет нажата комбинация <ctrl>+<break> или <ctrl>+<c>, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы. При нажатии N выполнение будет продолжаться со следующей команды. При паузе нажатие любых других буквенно-цифровых клавиш, а также «Пробел» и «Ввод» выполнение исполняемого файла будет продолжаться со следующей команды.</c></ctrl></break></ctrl>

1196024.jpg

Выполнение команды для списка файлов

Для последовательного исполнения нескольких файлов из списка, находящихся в одной директории, также можно использовать bat-файл. Команды «запуск программы по названию» и «запуск программы по расширению файла» часто могут помочь с автоматизацией обработки документов, например сортировка вложений почты. Отличаются они параметрами для команды FOR. Формат написания ее приведен ниже:

— FOR %x IN (список файлов) DO команда, где:

— х — любой символ, за исключением цифр от 0 до 9;

— список — разделенные пробелами имена файлов или название одного файла; при этом можно использовать спецсимволы «?» и «*» для замены от одного до нескольких знаков в названии файлов;

— команда — любая DOS-команда или программа, кроме FOR; если есть необходимость использования FOR, то вместо %x нужно указать %%x.

1196206.jpg

При использовании этой команды для написания bat-файлов нужно учитывать, что имена в программах формата DOS имеют ограничение по длине названия. Для того чтобы произвести переключение команды FOR на работу с длинными именами файлов, нужно не забыть перед ней запустить команду LFNFOR ON для включения режима работы с длинными именами и LFNFOR OFF для его отключения и возврата к стандартной длине файлов.

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

1196211.jpg

Переходы в bat-файлах

Команда перехода имеет написание GOTO с названием метки через пробел. Если параметра нет или название метки в командном файле не обнаружено, то работа скрипта на этой команде прекращается. Пример:

GOTO zzz

:zzz

REM (запускаются требуемые команды).

В этом примере последовательное исполнение командного файла, дойдя до GOTO zzz, переходит на метку :zzz и продолжается с REM, игнорируя все, что находится между командой перехода и указанной меткой.

1196209.jpg

Использование условий при работе с bat-файлами

Bat-файл может исполнять или не исполнять команды в зависимости от различных условий, если в нем применяется проверка наступления события IF. Формат этой команды выглядит как «IF условие команда».

Условие представляет собой различные варианты выражений:

— ERRORLEVEL число — в том случае, когда предыдущая выполняемая программа закончилась с кодом завершения, равным указанному числовому значению или больше него, условие будет истинным.

— СТРОКА 1 == СТРОКА 2 — в случае полного совпадения строк условие становится истинным. Вместо строк можно подставить символы %0 — %9, тогда будут сравниваться параметры командного файла.

— EXIST — имя файла — если указанный файл существует, то условие истинное.

— NOT — условие — если указанное условие ложное, то на выходе команды получим истинное значение.

1196216.jpg

Применяемые команды в bat-файлах

Если нажать кнопку «Пуск» и запустить командную строку (cmd), то можно посмотреть все вставляемые в bat-файл команды. CMD-режим можно использовать как средство для отладки, как помощника, программу для получения сведений о командах. Для этого просто можно набрать HELP. При этом выдается список команд с краткими описаниями к ним. Для получения более детальной информации можно ввести HELP с названием нужной команды.

1196207.jpg

Использование bat-файлов при резервном копировании данных

Командные файлы сильно упрощают жизнь системным администраторам при осуществлении повседневной работы. Наиболее распространенной сферой их применения являются резервное копирование, создание, удаление, переименование и многое другое. Все это основано на использовании команды bat-файла COPY. К примеру, можно создать программу, которая делает архивные копии документов из выбранной папки с пользовательскими данными определенных форматов, исключив, допустим, медиафайлы большого объема, обеспечив резервирование в папке с именем пользователя и текущей датой, и назвать ее «Команда_копирования_файлов.bat». После этого необходимо обеспечить ее запуск в определенное время с помощью встроенного планировщика или силами самой программы и тем самым обеспечить сохранность данных пользователя.

Используемые источники:

  • https://a0x.ru/kak-sozdat-bat-fayl-v-windows-7-8/
  • https://albafoxx.blogspot.com/2018/10/bat.html
  • https://fb.ru/article/239600/komandyi-bat-faylov-windows

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации