Создание пакетного файла: Как написать свой собственный .bat-файл

cmd.exe, также известный как Командная строка, является одним из старейших программных компонентов Windows. На протяжении десятилетий этот процессор командной строки использовался для внесения прямых изменений в операционные системы Microsoft. Пакетные файлы (также известные как файлы .bat) тесно связаны с Command Prompt. Эти файлы содержат собственные команды, которые cmd.exe использует для обработки последовательности команд. Мы расскажем об уникальных особенностях этих полезных сценариев и покажем, как самостоятельно создавать, сохранять и запускать пакетные файлы.

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

Пакетный файл (также известный как .bat-файл или пакетный сценарий) — это текстовый файл, который процессор командной строки Windows cmd.exe выполняет как пакетное задание. Command Prompt берет на себя роль интерпретатора и среды выполнения. Проще говоря, пакетный файл — это компьютерная программа или сценарий, содержащий данные или задания, которые последовательно обрабатываются Command Prompt.

Примечание

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

Пакетные файлы позволяют использовать и выполнять обычные команды CMD с cmd.exe в качестве интерпретатора и среды выполнения. При написании пакетных файлов можно также использовать комментарии, метки, переменные, условия и запросы. Чтобы преобразовать текстовые файлы в пакетные, в новых системах Microsoft необходимо использовать расширение .bat. Расширение .cmd было распространено в Windows NT и OS/2.

Факт

В 2006 году Microsoft выпустила PowerShell, еще один фреймворк, позволяющий программировать и выполнять пакетные файлы. В 2016 году она стала кроссплатформенной с открытым исходным кодом и использует лицензию MIT. PowerShell предоставляет альтернативный интерпретатор командной строки и собственный язык сценариев под названием PowerShell Scripting Language.

Создание пакетного файла: Пошаговое руководство

Создание собственных пакетных файлов полезно для автоматизации выполнения повторяющихся последовательностей команд. Эти последовательности могут включать процессы входа в систему или так называемые TSR-программы (Terminate and Stay Resident), которые вы хотите запускать постоянно в качестве фоновых процессов. В следующих разделах мы расскажем об инструментах, необходимых для создания пакетных файлов, и покажем, как создавать, сохранять и запускать собственные пакетные файлы.

Шаг 1: Выберите и откройте редактор

Как упоминалось ранее, текстовые документы являются хорошей отправной точкой для создания пакетных сценариев. Чтобы написать свой собственный пакетный файл, все, что вам нужно, — это обычный текстовый редактор. Вам не нужны такие функции, как подсветка синтаксиса, поэтому идеально подойдет приложение «Блокнот», входящее в состав Windows. Чтобы открыть его, просто введите «Notepad» в строке поиска Windows и щелкните на значке Notepad в результатах поиска:

Шаг 2: Ознакомьтесь с пакетными командами

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

  • ECHO: Включает отображение текста на экране для выполняемых команд.
  • @ECHO OFF: выключает отображение текста на экране для выполняемых команд.
  • START: Запуск файла с его ассоциированным приложением по умолчанию.
  • REM: обозначает строку комментария
  • MKDIR/RMDIR: Создает или удаляет каталог.
  • DEL: Удаляет выбранный файл(ы)
  • COPY: Копирует выбранный файл(ы)
  • TITLE: Устанавливает заголовок окна CMD
Примечание

Полный список наиболее важных команд см. в нашей полной статье о пакетных командах.

Шаг 3: Создание и сохранение пакетного файла

Легким введением в искусство создания пакетных файлов является написание простого сценария, который создает несколько каталогов на выбранном диске вашего компьютера. Например, если вы создадите и запустите пакетный файл со следующими входными данными, он создаст два каталога с именами «Example1» и «Example2» на диске C:

MKDIR C:Example1
MKDIR C:Example2

Просто скопируйте эти две строки в пустой документ Блокнота, как показано на следующем снимке экрана:

Чтобы сохранить эти пакетные инструкции или сценарий, нажмите Файл и выберите Сохранить как…. Укажите место сохранения и введите имя сценария с расширением .bat в поле Имя файла:

Шаг 4: Запустите новый пакетный сценарий

После создания и сохранения пакетного файла у вас есть два варианта его запуска: Либо запустить сценарий в привычной среде Windows Explorer, либо открыть Command Prompt и запустить его с помощью команды командной строки.

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

Примечание

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

Если вы хотите открыть пакетный файл из командной строки, сделайте следующее:

  1. Перейдите в строку поиска Windows и введите cmd.
  2. Нажмите «Командная строка», чтобы открыть командную строку стандартным способом. Если для ее запуска нужны привилегии администратора, щелкните Command Prompt правой кнопкой мыши и выберите Run as Administrator.
  3. С помощью команды «Изменить каталог» (cd) перейдите в каталог, где находится пакетный файл.
  4. Введите имя пакетного сценария (включая расширение файла) и нажмите Enter.

Шаг 5: Редактирование пакетных файлов задним числом

Вы можете изменить пакетный сценарий в любое время, например, если хотите добавить или удалить команды или изменить каталоги. Для этого просто перейдите в папку, содержащую скрипт командной строки, и щелкните его правой кнопкой мыши. Затем выберите Редактировать:

Примеры более часто используемых и сложных пакетных сценариев

С помощью приведенного выше пошагового руководства вы можете создавать самые разнообразные пакетные файлы с неограниченным количеством различных команд. Однако сценарии, которые вы можете использовать чаще, определенно более полезны в долгосрочной перспективе. В заключение мы приведем два примера пакетных файлов с долгосрочной ценностью, чтобы проиллюстрировать возможности пакетной обработки с помощью Windows Command Prompt.

Пакетный сценарий с простым механизмом резервного копирования

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

XCOPY C:Outgoing directory C:Back-up-directory /m /e /y

Когда вы создаете и запускаете пакетный файл, содержащий строку, показанную выше, используйте команду «xCOPY» для копирования содержимого из «исходной папки» в «резервную папку». Вам нужно будет соответствующим образом настроить каталоги, содержащие эти две папки. Три параметра в конце имеют следующий эффект:

  • /m: Обеспечивает копирование только обновленных файлов, чтобы файлы, которые уже были скопированы, не пришлось копировать снова во время последующих операций резервного копирования.
  • /e: Указывает, что резервное копирование включает все подкаталоги указанного каталога.
  • /y: Подавляет запрос на подтверждение перезаписи существующего целевого файла, который был изменен после последнего резервного копирования.

Пакетный файл с комплексной функцией резервного копирования

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

cd C:Outgoing directory
FOR %%f IN (*.doc *.txt) DO XCOPY C:Outgoing directory"%%f" C:Back-up-directoryTexte /m /y
FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:Outgoing directory "%%f" C:Back-up-directoryimages /m /y

Пакетный код, показанный выше, гарантирует, что:

  • все файлы в исходном каталоге с расширениями .doc и .txt перемещаются в папку резервного копирования «Текст».
  • все файлы исходного каталога с расширениями .jpg, .png и .bmp перемещаются в папку резервного копирования «Изображения».
  • копируются только обновленные файлы.
  • запрос подтверждения всегда подавляется.
Примечание

Этот сценарий работает только в том случае, если имена файлов имеют объявленные расширения, иначе подходящие документы не будут найдены при пакетной обработке, даже если они действительно имеют нужный формат.

Оцените статью
cdelat.ru
Добавить комментарий