Содержание
- 1 Основные возможности командных файлов
- 2 Выполнение командных файлов
- 3 Прерывание работы
- 4 Вызов другого командного файла
- 5 Пошаговое выполнение
- 6 Отключение и включение вывода команд на экран
- 7 Сообщения при исполнении команд
- 8 Использование комментариев
- 9 Команда задержки в bat-файле
- 10 Выполнение команды для списка файлов
- 11 Переходы в bat-файлах
- 12 Использование условий при работе с bat-файлами
- 13 Применяемые команды в bat-файлах
- 14 Использование bat-файлов при резервном копировании данных
Bat файлы представляют собой текстовые документы, которые содержат в себе список последовательно выполняющихся команд (инструкций). Они могут быть очень простыми, что обычный пользователь может воспользоваться ими. В сегодняшней теме разберем, что такое батник, как создать bat файл в Windows 7, 8, а также рассмотрим пример пакетного файла.
Сисадмины (продвинутые пользователи) хорошо осведомлены о полезности бат файлов, но обычные пользователи не знакомы с ними, их пугает структура кода и запуск этого сценария. Это печально, поскольку многие отказываются от использования мощного инструмента для выполнения рутинных и повторяющихся задач. Bat файлы могут быть сложными, требуя профессиональных навыков программирования, и простыми.
Батник содержит одну или несколько строк команд, которые выполняются последовательно. Бат файлы имеют расширение (bat или cmd) и выполняются через интерфейс командного интерпретатора. Все команды можно вводить в cmd, но каждый раз вызывать командную строку Виндовс 7, 8 и прописывать код, является рутинной работой, поэтому проще создать bat файл.
Для создания батника потребуется текстовый редактор (блокнот, notepad ++) и список bat команд. Примерный алгоритм смотрите ниже.
1. Создайте текстовый документ, расширение которого txt. Нажмите правой кнопкой на пустой области проводника или другого места. Наведите на «создать» курсор мыши, затем из подменю выберите «текстовый документ». Задайте ему имя, к примеру, batnik.
2. Скачайте notepad ++, затем установите его. Откройте batnik.txt в notepad ++, выберите «кодировки», наведите курсор на «кодировки», «кириллица», нажмите на OEM 866. Проделайте этот шаг, если используете вывод русских слов (пояснений) в сценарии, иначе Вы увидите кракозябры (не корректные символы). Далее пропишите команды. Например, скопируйте такой текст:
3. Сохраните документ, далее измените тип файла Windows на расширение bat.
4. Двойным щелчком запустите batnik.bat для выполнения последовательности команд. После того как bat файл исполнится, он автоматически закроется.
Еще вы можете запустить блокнот, нажать Win + R, ввести в строку notepad и кликнуть Enter. После прописывания кода, нажмите «файл», а затем «сохранить как». В окне задайте путь сохранения, имя файла с расширением bat и щелкните «сохранить». Аналогичные действия проделайте с notepad ++ для изменения кодировки (шаг 2), если будите использовать русские символы.
Сейчас рассмотрим создание bat файла в Windows 7, 8, который дает сведения о сети, проверяет соединение с интернетом и наглядно показывает действие батников. Создайте бат файл и пропишите такие строки.
На самом деле, примеров бат файлов для обучения, скачивания в сети есть огромное количество. Вам достаточно изучить синтаксис и команды, чтобы создать свой батник под свои нужды. Надеюсь, Вы поняли для чего нужны батники, и как создать 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, который необходим для запуска этой ОС, так как именно он осуществляет ее настройки в ходе запуска.
Основные возможности командных файлов
Команды, которые содержит bat-файл, по функционалу можно условно разделить на несколько групп:
Выполнение командных файлов
Запуск 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>
Вызов другого командного файла
Bat-файлы могут содержать в себе ссылки на исполнение других скриптов. Если просто прописать в теле скрипта bat-файл, команды после него уже исполняться не будут, так как управление передается на другой батник и будут выполнены команды уже из него. Если требуется возврат после запуска внутреннего файла, то его можно вызвать командой CALL. Формат команды выглядит так: CALL имя-бат-файла [параметры запуска].
Параметрами, которые передаются вызываемому командному файлу (файлам), обычно являются символы %1 — %9. Когда команды bat-файлов все последовательно будут пройдены, продолжится выполнение исходного скрипта со следующей строки.
Пошаговое выполнение
Бывают случаи, когда команды bat-файлов нужно выполнить пошагово (с остановкой после каждой строчки). Наиболее часто такой режим требуется при отладке или тестировании скриптов. Написание команды выглядит так: COMMAND /y/c имя _скрипта [параметры].
При выполнении на каждую команду будет выдаваться запрос Y или N. Если требуется выполнение команды — жмем клавишу Enter или Y. Если нужно пропустить команду — жмем ESC или N.
Отключение и включение вывода команд на экран
Когда запускается bat-файл, команды построчно перед выполнением отображаются на экране и после этого выполняются. Иногда это вызывает неудобство, так как при большом батнике команды длинным списком пробегают перед пользователем на экране, а иногда требуется их показ, например, для диалога или отладки. Чтобы bat-файл команды выводил на дисплей, применяется команда ECHO ON. Для отключения этого режима нужно ввести ECHO с параметром OFF. При этом все исполняемые далее команды показываться на экране уже не будут.
Для отключения вывода только какой-либо одной строки батника на экран можно использовать в самом начале этой строки символ @. Чаще всего этот символ можно встретить в паре с командой @ECHO OFF для исключения вывода ее на дисплей монитора. Такой режим часто используют злоумышленники, создавая на основе bat-файлов вирусы или доставляя мелкие и крупные неприятности пользователям компьютеров.
Сообщения при исполнении команд
Если после команды ECHO будут расположены символы, отличные от ON или OFF, то они будут выводиться на экран в любом режиме. Если ECHO будет без параметров, то она выдает на экран состояние режима отображения исполняемых команд — включен или выключен.
При желании можно воспроизвести даже звуковой сигнал (писк) компьютера, используя bat-файл. Команды, примеры которых приведены далее, основаны на операторе ECHO с добавлением специальных символов.
Для воспроизведения звукового сигнала нужно вывести стандартный символ с кодом 7. Сделать это можно, нажав клавишу <alt> и «7» на цифровой клавиатуре (с надписью home).</alt>
Для того чтобы повысить удобочитаемость сообщений можно применить команду ECHO с параметром «.» (она ставится сразу за командой без пробела) или специальным символом с кодом 255. На экране это будет выглядеть как пустая строчка.
Команду ECHO можно использовать для вывода сообщений в отдельный файл. Суть ее состоит в перенаправлении вывода сообщений на запись в файл, а не на экран монитора. Для сохранения логов, анкетирования, записи событий можно использовать пакетные файлы bat. Команды вывода имеют следующий формат:
— ECHO-сообщение >> имя файла — команда добавляет строчку в конец существующего файла. Если такого файла в данной директории нет, то создается новый файл.
— ECHO-сообщение > имя файла — этой командой создается новый файл, и в него записывается текущая строчка. В случае наличия такого файла в текущей директории, содержимое его будет удалено и записана команда или ее результат.
Использование комментариев
Для удобства редактирования скриптов используется команда REM. Все находящиеся после нее команды bat-файлов Windows игнорирует при исполнении. Их можно увидеть при редактировании и при пошаговом режиме. Во всех других случаях комментарии на экран выводиться не будут.
Команда задержки в bat-файле
Иногда во время выполнения батника возникает необходимость временно остановить исполнение команд, например, для ожидания реакции пользователя, для увеличения времени на прочтение длинного сообщения, для вставки диска, подтверждения присутствия пользователя или для отладки пакетного файла. Команда задержки в bat-файле пишется как PAUSE без параметров. При этом на дисплее отобразится сообщение типа «Нажмите любую клавишу для продолжения», и выполнение скрипта будет приостановлено до нажатия кнопки клавиатуры. Если будет нажата комбинация <ctrl>+<break> или <ctrl>+<c>, то система воспримет это как завершение работы исполняемого файла и выдаст запрос на подтверждение завершения его работы: «Прервать выполнение командного файла? (Y/N)». Если нажать клавишу Y, то произойдет прерывание работы скрипта в этом месте и все оставшиеся невыполненные команды будут проигнорированы. При нажатии N выполнение будет продолжаться со следующей команды. При паузе нажатие любых других буквенно-цифровых клавиш, а также «Пробел» и «Ввод» выполнение исполняемого файла будет продолжаться со следующей команды.</c></ctrl></break></ctrl>
Выполнение команды для списка файлов
Для последовательного исполнения нескольких файлов из списка, находящихся в одной директории, также можно использовать bat-файл. Команды «запуск программы по названию» и «запуск программы по расширению файла» часто могут помочь с автоматизацией обработки документов, например сортировка вложений почты. Отличаются они параметрами для команды FOR. Формат написания ее приведен ниже:
— FOR %x IN (список файлов) DO команда, где:
— х — любой символ, за исключением цифр от 0 до 9;
— список — разделенные пробелами имена файлов или название одного файла; при этом можно использовать спецсимволы «?» и «*» для замены от одного до нескольких знаков в названии файлов;
— команда — любая DOS-команда или программа, кроме FOR; если есть необходимость использования FOR, то вместо %x нужно указать %%x.
При использовании этой команды для написания bat-файлов нужно учитывать, что имена в программах формата DOS имеют ограничение по длине названия. Для того чтобы произвести переключение команды FOR на работу с длинными именами файлов, нужно не забыть перед ней запустить команду LFNFOR ON для включения режима работы с длинными именами и LFNFOR OFF для его отключения и возврата к стандартной длине файлов.
Многие функции с программами, такие как сравнение файлов с определенными типами расширений, находящихся в одной директории, с файлами тех же типов из другой директории, копирование всех файлов текущего каталога в другой, последовательное исполнение файлов с расширениями определенного типа и названиями, начинающимися с цифр, можно осуществить с помощью всего лишь одной вписанной в bat-файл команды. Запуск программы можно комбинировать с запросами пользователя, что способствует повышению удобства работы с данными.
Переходы в bat-файлах
Команда перехода имеет написание GOTO с названием метки через пробел. Если параметра нет или название метки в командном файле не обнаружено, то работа скрипта на этой команде прекращается. Пример:
GOTO zzz
…
:zzz
REM (запускаются требуемые команды).
В этом примере последовательное исполнение командного файла, дойдя до GOTO zzz, переходит на метку :zzz и продолжается с REM, игнорируя все, что находится между командой перехода и указанной меткой.
Использование условий при работе с bat-файлами
Bat-файл может исполнять или не исполнять команды в зависимости от различных условий, если в нем применяется проверка наступления события IF. Формат этой команды выглядит как «IF условие команда».
Условие представляет собой различные варианты выражений:
— ERRORLEVEL число — в том случае, когда предыдущая выполняемая программа закончилась с кодом завершения, равным указанному числовому значению или больше него, условие будет истинным.
— СТРОКА 1 == СТРОКА 2 — в случае полного совпадения строк условие становится истинным. Вместо строк можно подставить символы %0 — %9, тогда будут сравниваться параметры командного файла.
— EXIST — имя файла — если указанный файл существует, то условие истинное.
— NOT — условие — если указанное условие ложное, то на выходе команды получим истинное значение.
Применяемые команды в bat-файлах
Если нажать кнопку «Пуск» и запустить командную строку (cmd), то можно посмотреть все вставляемые в bat-файл команды. CMD-режим можно использовать как средство для отладки, как помощника, программу для получения сведений о командах. Для этого просто можно набрать HELP. При этом выдается список команд с краткими описаниями к ним. Для получения более детальной информации можно ввести HELP с названием нужной команды.
Использование 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