Сайт о телевидении

Сайт о телевидении

» » Как написать свой bat файл для создания резервной копии. Что такое bat-файлы и зачем они нужны

Как написать свой bat файл для создания резервной копии. Что такое bat-файлы и зачем они нужны

Пакетный (bat) файл – это тип файла, поддерживающий текст, имеющий расширение.bat, и включающий в себя построчные операторы для командной строки cmd.exe.

Этот тип файла – полезный инструмент автоматизации однообразных файловых операций – копирования, удаления и т.д., а также запуска различных приложений и выполнения других операций в ОС.

К примеру, если необходимо выполнить DOS-команду ipconfig/flushdns, очищающую кэш распознавателя DNS, это можно сделать через запуск cmd.exe. Однако, если процедуру нужно повторить многократно, лучше сделать это через запуск предварительно созданного bat-файла.

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


Для этого:

  1. Открыть «Блокнот», набрав в строке поиска панели задач (изображение лупы внизу слева) слово блокнот и щелкнув мышью по всплывшей пиктограмме.

  2. Вписать в блокноте команды ipconfig /flushdns и pause.

    Справка! Использование оператора «pause» не позволяет DOS-экрану закрыться после исполнения bat-файла, чтобы у пользователя была возможность видеть ответ интерпретатора cmd.

  3. В окне блокнота щелкнуть мышью «Файл» – «Сохранить как».

  4. В окне «Сохранить как» щелкнуть слева, куда поместить файл, написать имя создаваемого файла и указать расширение.bat (через точку) (1), выбрав в «Тип файла» – «Все файлы» (2). Затем нажать «Сохранить» (3).

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

Результат исполнения bat-файла отобразиться в DOS-окне.

В данном случае содержимое кэш службы разрешения имен DNS успешно очищено, исправляя проблемы отображения интернет-страниц и другие проблемы DNS. Система предлагается нажать любую клавишу для закрытия окна.

Если вы хотите более подробно узнать, а также рассмотреть инструкцию по созданию, вы можете прочитать статью об этом на нашем портале.

Основные операторы bat-файла:

  • ECHO: отображает текст в DOS-окне;
  • ECHO OFF: отменяет показ текста команд в DOS-окне, показывая подсказку и выполненный результат;
  • @ECHO OFF: отменяет показ текста команд и подсказок, показывая выполненный результат;
  • XCOPY: используется для копирования каталогов и файлов с добавочными параметрами;
  • START: запускает исполняемый файл.exe со своим стандартным приложением, открывает каталог;
  • FOR/IN/DO: применяется для указания файлов;
  • MKDIR: создает каталоги;
  • REM: для ввода строки комментария в программе;
  • RMDIR: для удаления каталогов;
  • DEL: для удаления файлов;
  • COPY: для копирования файлов;
  • TITLE: редактирование заголовка окна.

Применение некоторых из перечисленных команд показано на примере ниже. Необходимо отметить, что команда @echo off скрывает путь выполняемой команды, отображаемый cmd на DOS-экране.

Запуск программ в файле bat происходит с помощью команды start и указанием имени запускаемой программы.

Также в файле может быть прописан полный путь до исполняемого файла.

Обе эти записи для firefox работают корректно. Однако, они обе корректны только для зарегистрированных в Windows приложений. Если попробовать запустить портативную программу (например, filezilla) без прописи всего пути к запускаемому файлу, она не запустится.

Длинные имена в bat-файлах

Иногда в bat встречаются программы, не работающие с длинными именами с пробелами – обычно это некоторые старые программы для MS-DOS. В этих случаях помогает использование коротких DOS-имен без пробелов, а также кавычек.

Правила записи коротких DOS-имен (формат 8.3): задействуется шесть начальных символов имени папки, не учитывая пробелы, далее указывается ее номер по порядку через ~. Например: start C:Program FilesMozilla Firefoxfirefox.exe преобразуется в: start C:Progra~1Mozill~1firefox.exe.

Возможна ситуация, когда в одном каталоге имеются несколько папок с одинаковыми символами в названии.

Их короткие имена в этом случае должны нумероваться в соответствии с алфавитным порядком папок:

  • Mozill~1;
  • Mozill~2;
  • Mozill~3.

Однако, если Mozilla Firefox будет удален с компьютера, следующие за Mozill~1 записи работать не будут. Поэтому, короткие DOS-имена – не лучший вариант решения проблемы длинных имен. Создание имен этого типа на NTFS также бывает отключено в реестре Windows.

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

Однако, в некоторых случаях кавычки не работают совсем. В этом случае возможно использование команды изменения текущего рабочего каталога Chdir (CD). Запись start firefox.exe приобретает в этом случае следующий рабочий вид.

Справка. Команда CD – пожалуй, единственное универсальное решение вопроса длинных имен в bat-файлах.

Программы в bat-файле можно не только запускать, но и устанавливать им дополнительные команды (ключи) запуска. Например, если запустить bat-файл с записью: start /?, он отобразит на DOS-экране список используемых с этим оператором ключей с необходимыми пояснениями.

Пример используемых ключей, где: — minimize – ключ для минимизации программы после ее запуска, — hide_splash – ключ для сворачивания программы в трэй.

Справка! Все, что относится к запускаемым файлам.exe, записывается с ними в файле bat в общей строке.

Команда создания папки выполняется в bat с помощью оператора MKDIR (MD). Если запустить приведенный в примере bat-файл, он создаст четыре вложенные папки на диске С.

Следующий пример – как открыть не один, а сразу несколько каталогов на диске С.

В приведенном ниже примере показано, как скопировать папку с диска D: на диск E. Параметр /s разрешает копирование каталогов и подкаталогов. Параметр i/ создает новый каталог, чтобы команда xcopy скопировала в него файлы.

Базовый файл при этом как остается как на диске D, так и копируется в новое место, указанное в bat-файле.

Редактирование bat


Программы редактирования

Рядовому пользователю для взаимодействия с bat-файлами, возможно, хватит функционала простого «Блокнота», но, к примеру, системному администратору нужен редактор помощнее. Работать с bat можно в любых редакторах текстов, нацеленных на взаимодействие с кодом, в частности, в «Notepad++» или «Notepad2».

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

Видео — Как создать bat файл в Windows 10

В данной статейки мы рассмотрим такую полезную вещь как «батник ». Давайте сначала дадим определение, что такое bat файл. Пакетные или batch файлы - это простые текстовые файлы, содержащие наборы команд (инструкцию ) интерпретатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT ). Создавать и редактировать такие файлы можно при помощи обычного блокнота или любого другого текстового редактора.

Теперь Вы спросите, зачем нужно уметь писать такие бат файлы? И зачем они нужны? Попытаюсь объяснить.

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

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

Теперь перейдем непосредственно к основам этих батников. Как же они создаются, Вам нужно просто создать простой текстовый документ открыть его и сразу на вкладке «Файл->сохранить как », вписать вместо расширения «Текстовый документ.txt », например «Текстовый документ.bat » и сохранить, вот и получится у нас батник с расширением.bat, но он пока ничего не делает.

Для начала я приведу пример батника, который я использую у себя на работе для архивации документов.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.txt

Теперь немного расскажу, что делает этот батник. Запускается WinRar, потом идут команды винрара:

  • a - это добавить в архив;
  • -r - обрабатывать вложенные папки;
  • -dh - открывать совместно используемые файлы;
  • -ed - не добавлять пустые папки;
  • YYYY-mm-dd - добавляем к имени архива текущую дату (формат даты );
  • E:\arhaccounts\ - путь, где будет лежать конечный архив;
  • d:\accounts\*.doc - путь и маска файлов, какие нужно заархивировать.

В данном случае мы архивируем все документы Word, Excel и текстовые файлы, архивировать остальные нам не требуется. У нас архивация идет на другой диск, и мы еще копируем полученный архив на другой компьютер, для того чтобы архивы хранились и в другом кабинете. Копирование идет по сети соответственно компьютер, на который копируется архив, должен быть включен. Для этого можно использовать такую команду:

Copy E:\arhaccounts\*.rar \\namecomp\arhiv\

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

Теперь рассмотрим основные команды, которые Вы можете использовать.

Если Вам нужно удалить файл пропишите следующие:

Del d:\file\test.doc


Для того чтобы удалить весь каталог пропишите:

Rd d:\file\

Вдруг Вам нужно удалять каждый раз все из какого-нибудь каталога, то используйте вот что:

Echo Y| del d:\file\

  • del d:\file\ - это как раз и есть удаление всех файлов;
  • echo Y| - команда подтверждает удаление т.к. если не прописать эту команду, то Вы увидите сообщение о подтверждение удаления – «Продолжить », и Вам нужно будет каждый раз отвечать на этот вопрос.

Сейчас давайте рассмотрим пример посложней, в котором уже выполняется условие:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test IF not EXIST d:\test\123.rar GOTO 1 IF EXIST d:\test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end

Теперь объясняю, допустим, Вам нужно разархивировать архив test.rar, в котором будет много файлов, но если там окажется файл 123.rar его нужно будет разархивировать в корень диска C, а остальные файлы чтобы остались в том же каталоге не тронутыми.

По порядку, команда @echo off нужна, для того чтобы на экране у нас ничего не отражалось (в принципе, если не нужно можете не писать эту строку ). Далее у нас запускается винрар и распаковывает архив test.rar в папку test. Затем идет условие, если в папке test (после распаковки test.rar ) у нас не окажется файла 123.rar, то у нас просто выполнение батника переходит к строке:1 и потом просто удаляется файл test.rar за не надобностью т.к. все что нам нужно мы уже распаковали. Но если там оказывается файл 123.rar, то выполнение батника переходит к строке:2, после которой уже идет распаковка файла 123.rar в корень диска C. Другими словами у нас выполняется условие, если есть файл то делать это, если нет файла, делать вот это. Допустим, если не прописать условие в данном примере, то у нас батник выдаст ошибку, тогда когда у нас не окажется файла 123.rar в данной папке.

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

Move "D:\catalog\*.doc" G:\catalognaflehe\

И все файлы с расширением doc, которые находятся в каталоге D:\catalog будут перемещаться на флешку. Теперь хочу сказать, что в батниках можно использовать сценарии (скрипты ) при помощи Windows Scripting Host и если нужно, например чтобы выводилось сообщение, после того как файлы скопированы (предыдущий пример ) вставьте вот это:

Echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Файлы Скопированы"); >> %temp%\mes.js start %temp%\mes.js deltree /y %temp%\mes.js

На самом деле про написание батников можно разговаривать много и в одну статью это, конечно же, не уместить, здесь я показал всего лишь принципы, которые используются при написании bat файлов, так сказать основу. Если Вы хотите узнать больше команд для написания батников, Вы можете легко посмотреть их, набрав в командной строке (Пуск - Выполнить – cmd ) команду help, но там, конечно же, не все команды, что можно использовать в батниках. Удачи в написание BAT файлов (батников ).

Продолжение темы в статье -

BAT файл это код программы сохраненный с расширением.bat или.CMD кому как нравится.

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

С помощью файла bat можно открывать файлы на компьютере, копировать перемещать и удалять файлы по маске и без, запускать скрипты сторонних программ, открывать браузер с нужным url. Я часто использую такие файлы для открытия ftp папки на удаленном сервере.

Как создать bat файл

Создать файлы бат проще простого. Откройте обычный текстовый редактор и сохраните его с расширением.bat.

Также можно использовать продвинутую программу «notepad++»

Вот образец кода чтобы написать bat файл:

explorer.exe «C:\Program Files»

Данный код откроет папку «program files» на диске C:\

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

Вот пример кода — форматирование раздела F:\

@echo off
format F /q /autotest

Пример кода bat — Создать 100 папок:

@echo off
for /l %%i in (1,1,100) do mkdir «dir %%i»

сделать bat ом можно и (Вирус) вредную программу скрипт: К примеру — нижеприведенный код удалит важные exe файлы.

@echo off
do del «c:\windows\exploer.exe»
do del «c:\windows\mspoint.exe»
do del «c:\windows\notepad.exe»

Команда создать папку bat файлом

Нижеприведенный код создаст 3 папки в том месте где сам файл расположен. Также первая созданная папка будет содержать еще одну вложенную папку. Так как имена папок написаны на кирилице то дописываем строку кодировки chcp 1251. Такой файл обычным блокнотом написать нельзя, так как в нем нет возможности изменить кодировку русских букв. Воспользуйтесь программой notepad++.

chcp 1251
MD .\папка_артикул\база\
MD .\директория\
MD .\хранилище\

Скачать Bat файл

— файл создает 3 папки

Пример кода bat как открыть папку

explorer.exe «C:\Users\Administrator\Desktop\фото\»

Формат bat чем открыть?

Также как и создание файлов.bat в текстовом редакторе, их можно открыть тем же блокнотом, wordpad, или notepad++.

Единственное что нужно помнить при открытии файла bat — при двойном щелчке мыши на файле он запустит программу. Т.Е чтобы открыть его для редактирования, наведите курсор на редактируемый файл и правой кнопкой мыши откройте контекстное меню где выбирайте открыть с помощью notepad++

Также если в контекстном меню нажать на просто открыть Вы также запустите исполнение бат-файла.

Есть еще один способ: Откройте текстовый редактор блокнот и перетащите в него ваш редактируемый файл.

Важно: пользователи часто путают понятия файлов с расширением.bat и почтовый клиент «The Bat» для отправки и приёма почтовых документов.

Основные операторы Bat-файла

@ Все выполняемые bat команды выводятся на экран, чтобы убрать лишнее, перед командой ставится «собака». Часто используется с @echo off.
set Задает переменные. Например, setper=c:\windows здесь per присваиваем путь. В переменную можно записать громоздкое значение и указать ее в сценарии, что сделает код компактнее. Если ее содержание изменится, тогда не придется менять везде значения, где предусмотрена эта переменная.
:: Один из двух методов комментирования в bat файле без вывода этой строки на экран.
:LABEL При добавлении к слову двоеточия, создается метка, которая позволяет перейти к разным разделам батника. Метка может носить другое название, LABEL это пример.
CALL Bat команда, вызывающая один пакетный файл в другом. Все параметры, описанные в одном из файлов, могут быть переданы друг другу.
CHOICE Команда выбора.
CLS Очищает содержимое командного интерпретатора, что выведено на экран выше CLS.
ECHO Выводит сообщение на экран. Например, «ECHO Как дела!» выведет «Как дела!». Если не использовать @ECHO off в начале пакетного файла, тогда Вы увидите путь к bat файлу и два сообщения, что является излишним. Вы можете создать пустую строку введите ECHO. с точкой в конце.
EXIT Завершает текущий пакетный сценарий.
GOTO LABEL Используется для перехода к определенной метки, в данном случае к LABEL и исполняет сценарий после нее.
IF Как и в языках программирования batкоманда ifолицетворяет выполнение условия, в зависимости от которого сценарий пойдет по тому или иному пути. С синтаксисом знакомьтесь в справке.
for Цикл, используемый для организации выполнения одних и тех же действий.
PAUSE Если необходимо ознакомиться с результатом сценария, а он выполняется, и окно быстро закрывается, тогда используйте PAUSE. Она позволит посмотреть результат и завершить сценарий по нажатию любой кнопки.
REM Второй способ комментирования. В отличии от:: печатается на экране, если нет конструкции @ECHO off.
SHIFT Изменяет положение пакетных параметров в bat файле.
START Запускает программы, окна и т.д. Имеет множество атрибутов.

Для более детального описания кода bat файлов читайте справку по Windows

Как известно, операционные системы с графическими пользовательскими интерфейсами не всегда «хозяйничали» на компьютерах. Еще до их появления очень часто использовались DOS-подобные ОС, в которых для выполнения каких-либо действий необходимо было вводить специальные команды. И именно из них были позаимствованы принципы создания и выполнения так называемых пакетных файлов.

Несмотря на громкие заявления корпорации Microsoft о том, что поддержка MS-DOS была прекращена уже очень давно, если хорошенько вдуматься, нетрудно сообразить, что та же командная строка или консоль PowerShell работают как раз по тем же принципам. И для них иногда вписывать какие-то определенные команды, инициирующие выполнение тех или иных действий, совершенно необязательно. Можно запросто написать собственный код и сохранить его в специальном BAT-файле, после запуска которого действия будут выполнены автоматически. Но как создать BAT-файл в Windows 7 или ОС ниже или выше? Для этого есть несколько простых способов, о которых далее и пойдет речь. Но для начала необходимо выяснить, что это за объекты, и для чего они могут использоваться.

Что такое пакетный файл?

Вообще, на сегодняшний день различают две основных разновидности таких файлов, разделяя их исключительно по расширению: либо BAT, либо CMD. Поскольку такие объекты между собой и по содержанию, и по принципу выполнения очень похожи, чтобы не было путаницы, будем рассматривать именно вопросы, связанные с тем, как создать BAT-файл в Windows 7 и выше (хотя предлагаемые решения в равной степени относятся и к более ранним модификациям).

BAT-файл, или в простонародье «батник», представляет собой самый обычный текстовый документ, содержащий набор определенных команд, которые выполняются последовательно по мере перехода от одной строки кода к другой. Однако наборы могут содержать множество дополнительных операторов, включая зацикливание выполнения какого-то действия (loop) или переходы с соблюдением каких-либо условий (if, goto и т. д.). Если посмотреть на два вторых оператора, многим станет ясно, что они применялись еще в таких древних и примитивных языках программирования, к которым можно отнести тот же Basic. Несмотря на это, они и на современном этапе развития компьютерных технологий успешно используются и в более «продвинутых» языках (например, при написании скриптов на VB или в языке Pascal).

Для чего нужны

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

Примеры пакетных файлов Windows

О том, как создать BAT-файл в Windows 10 и ниже, поговорим чуть позже, а пока, чтобы внести окончательную ясность по поводу максимально эффективного использования таких объектов в Windows-системах, рассмотрим несколько интересных примеров.

Так, вероятно, все те пользователи, которые в свое время работали еще с первыми модификациями Windows, знают, что в них ранее присутствовал специальный файл Autoexec.bat, отвечающий за конфигурации системы при ее запуске, причем в него пользователь мог сам добавлять команды выполнения необходимых приложений вроде очистки дискового пространства, создания копий важных данных и т. д. Это только намного позднее в системе появился специальный конфигуратор, вызываемый командой msconfig.

Еще один достаточно необычный пример можно привести для планшетных ПК на основе Windows RT версий 8 и 8.1, в которых установка приложений производится исключительно через «Магазин» Windows, а стороннее ПО инсталлировать невозможно.

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

Не менее интересно выглядят и пакетный файл из набора Windows RT Development Tool, позволяющий перезапустить систему в режиме разработчика.

И уж, конечно, весьма необходимой утилитой оказалась программа SignTool, представленная как раз в виде пакетного BAT-файла, позволяющая выполнить для любого программного обеспечения и его компонентов в виде исполняемых файлов EXE и сопутствующих библиотек DLL, так сказать, «переподписание» с изменением исходной цифровой подписи на подпись Microsoft.

Как создать BAT-файл в Windows через «Проводник»?

Но вернемся к созданию пакетных объектов. Как создать BAT-файл, используя для этого встроенный файловый менеджера системы? Элементарно!

Через ПКМ на пустом пространстве в заданной локации выбираете раздел «Создать…», а затем переходите к пункту создания текстового документа. После появления его в рабочей области файл нужно просто переименовать, присвоив ему произвольное название и соответствующее расширение BAT через точку. Обратите внимание, что при выполнении такой операции отображение расширений должно быть включено в обязательном порядке.

Как создать файл с расширением BAT в «Блокноте»?

Поскольку, как уже было сказано выше, «батник» является текстовым файлом, есть еще одно решение, предполагающее использование стандартного текстового редактора «Блокнот». Как создать BAT-файл в этом случае? Тоже просто!

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

Примечание: на всякий случай стоит отметить, что таким же образом создаются файлы реестра, если это необходимо.

Использование файлового менеджера FAR

Наконец, рассмотрим, как создать BAT-файл в одном из популярных файловых менеджеров под названием FAR Manager, который был создан по образу и подобию «дедушки Нортона» (Norton Commander).

Для этого используется сочетание клавиш Shift + F4, после чего в поле имени файла вводится его название с расширением через точку, нажимается клавиша ввода, а сохранение пустого файла производится нажатием Shift + F2, что соответствует команде «Сохранить как…» (Save As…). Отредактировать содержимое с вводом необходимых команд можно через соответствующую функцию «Edit», вызываемую клавишей F4. Что касается команд, их лучше заранее изучить самому. Но всем тем, кто хочет, например, через BAT-файл создать папку, можно предложить команду MKDIR или ее сокращенный вариант MD FolderName, где FolderName - название каталога. По большому счету, команду можно усложнить, указав местоположение на диске и выбрав пользователя. Да и вообще, практически для всех команд можно применять абсолютно любые переменные, которые в командах заключаются в символы процентов с обеих сторон.

Эпилог

Вот и все что касается вопроса о том, как создать BAT-файл в Windows-системах, используя для этого несколько простейших средств. Какое из них является наиболее простым, решать самому пользователю, однако для удобства одновременно и создания «батника», и его редактирования лучше всего применять либо «Блокнот» (или другой аналогичный текстовый редактор), либо FAR Manager.

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

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

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

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

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

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

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

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

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

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

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

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. Сделать это можно, нажав клавишу и «7» на цифровой клавиатуре (с надписью home).

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

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

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

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

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

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

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

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

списка файлов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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