cmd.exe, также известный как Командная строка, является одним из старейших программных компонентов Windows. На протяжении десятилетий этот процессор командной строки использовался для внесения прямых изменений в операционные системы Microsoft. Пакетные файлы (также известные как файлы .bat) тесно связаны с Command Prompt. Эти файлы содержат собственные команды, которые cmd.exe использует для обработки последовательности команд. Мы расскажем об уникальных особенностях этих полезных сценариев и покажем, как самостоятельно создавать, сохранять и запускать пакетные файлы.
- Что такое пакетный файл или файл .bat?
- Создание пакетного файла: Пошаговое руководство
- Шаг 1: Выберите и откройте редактор
- Шаг 2: Ознакомьтесь с пакетными командами
- Шаг 3: Создание и сохранение пакетного файла
- Шаг 4: Запустите новый пакетный сценарий
- Шаг 5: Редактирование пакетных файлов задним числом
- Примеры более часто используемых и сложных пакетных сценариев
- Пакетный сценарий с простым механизмом резервного копирования
- Пакетный файл с комплексной функцией резервного копирования
Что такое пакетный файл или файл .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 и запустить его с помощью команды командной строки.
Первый вариант проще и удобнее для новичков, поскольку все, что вам нужно сделать, это перейти в каталог, где находится пакетный файл, и дважды щелкнуть на нем, чтобы запустить.
Если пакетный сценарий содержит команды, для выполнения которых требуются привилегии администратора, необходимо запустить сценарий от имени администратора. В этом случае правой кнопкой мыши выберите пакетный файл, а затем выберите «Запустить от имени администратора».
Если вы хотите открыть пакетный файл из командной строки, сделайте следующее:
- Перейдите в строку поиска Windows и введите cmd.
- Нажмите «Командная строка», чтобы открыть командную строку стандартным способом. Если для ее запуска нужны привилегии администратора, щелкните Command Prompt правой кнопкой мыши и выберите Run as Administrator.
- С помощью команды «Изменить каталог» (cd) перейдите в каталог, где находится пакетный файл.
- Введите имя пакетного сценария (включая расширение файла) и нажмите 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 перемещаются в папку резервного копирования «Изображения».
- копируются только обновленные файлы.
- запрос подтверждения всегда подавляется.
Этот сценарий работает только в том случае, если имена файлов имеют объявленные расширения, иначе подходящие документы не будут найдены при пакетной обработке, даже если они действительно имеют нужный формат.