Вероятно, все пользователи Windows, которые очень часто обращаются к средствам командной строки или консоли PowerShell, имеющую практически полную аналогию с устаревшими DOS-системами, обращали внимание на то, что в самих ОС, несмотря на приоритет доступа к некоторым возможностям или инструментам Windows, иногда требуется выполнение так называемых пакетных файлов, причем именно в консольном режиме. Что они собой представляют? Рядовые пользователи не знают об этом практически ничего. А вот продвинутые юзеры и программисты используют возможности таких апплетов достаточно часто. Как это все работает и для чего нужно, читайте далее.
Что представляют собой пакетные файлы?
Вообще, сами файлы такого типа относятся к исполняемым в среде операционной системы апплетам и содержат команды, по которым осуществляется последовательный переход для выполнения одной или нескольких операций. Как правило, они имеют расширение CMD или BAT (реже - PS1). Поскольку содержимое таких объектов практически одинаковое, рассматривать будем именно Batch-объекты, от английского названия которых и возникло сокращение, применяемое для указания расширения, предопределяющего тип файла.
Если внимательно посмотреть и на расширения, и на иконки, и на свойства пакетных файлов Windows, отображаемые в том же «Проводнике», нетрудно сообразить, что такие апплеты выполняются либо в командной строке, либо в консоли PowerShell. Эта консоль представляет собой аналог первого инструмента, но с более широкими возможностями. Несмотря на то что пакетные командные файлы являются именно программами, по своей структуре они ничем не отличаются от обычных текстовых объектов. Только в них содержится определенный набор команд. Также очень часто можно встретить и произвольные текстовые поля (например, «Нажмите любую клавишу для продолжения»), которые появляются на экране при выполнении команды, после которой требуется подтверждение или выбор пользовательского действия.
Основное предназначение
Что же касается использования пакетных файлов, считается, что чаще всего они применяются для запуска цепочек последовательных процессов с целью автоматизации, так сказать, рутинных действий. Однако мало кто догадывается, что иногда их можно использовать и для старта других программ в среде операционных систем Windows, если обычными средствами запустить их невозможно (скажем, вследствие действующих ограничений на уровне самой системы, как в Windows RT, или в плане прав для конкретного пользователя).
Самым простым примером стандартного апплета такого типа можно назвать обязательно присутствующий в ранних версиях Windows файл Autoexec.bat, который отвечал за конфигурации загрузки системы. Обратите внимание, что консоль настройки, вызываемая командой msconfig, появилась по современным меркам относительно недавно, и именно ей были переданы все бразды правления настройками параметров старта ОС.
Команды пакетных файлов
Что же касается основных команд, разобраться с ними особого труда не составит даже самому неискушенному пользователю. Если вы относитесь к тому поколению, которое еще в школе на уроках информатики изучало примитивный язык программирования Basic, а затем, возможно, и Pascal, сходство используемых команд очевидно. Дело в том, что параметры пакетного файла таковы, что подразумевают использование командных операторов, которые ранее и были представлены именно в этих языках (if, goto, loop и т. д.). Обычно для вывода исполнения команд на экран или показа текстовых сообщений используется команда echo, которая может иметь параметры on или off, что соответствует включению и выключению. Нередко эта команда используется и для ввода некоторых переменных или так называемых подстановочных значений (для этого указываются дополнительные символы).
Вообще, чтобы не заниматься лишним описанием всех команд, можно предложить пользователям получить всю интересующую информацию и самостоятельно, воспользовавшись вызовом справки в командной строке посредством команды help. Если нужна информация по какой-то определенной команде, используется либо сочетание с помощником (например, help echo), либо сочетание help /команда? (например, help /AT?). Таким образом, нетрудно догадаться, что любая из команд, работающих в командной строке, может быть включена в список выполняемых операций в пакетных файлах.
Как создать исполняемый файл самостоятельно?
Теперь давайте попробуем создать простейший файл самостоятельно. Для этого подойдет любой текстовый редактор, включая и самый обычный «Блокнот», встроенный во все модификации Windows. Также можно использовать и файловый менеджер FAR, который работает подобно Norton Commander. Но для удобства остановимся на «Блокноте». Например, вам через BAT-файл нужно открыть текстовый объект с именем Commands на диске D.
Впишите команду start D:\Commands.txt, а затем сохраните, в поле типа файла выберите «Все файлы» и присвойте расширение BAT самостоятельно.
После этого запустите его двойным кликом или через меню ПКМ и посмотрите на результат. Если такой файл в указанной локации отсутствует, данная команда может использоваться и для его создания. Только выглядеть она будет так: start file>D:\Commands.txt.
Особенности запуска и выполнения
Но это было самый простой пример. Обычно для выполнения некомпилированных команд, имеющихся в пакетных файлах, лучше всего использовать старт файла от имени администратора, что сродни запуску командной строки именно с такими правами. В большинстве случаев это нужно при выполнении системных настроек, обхода всевозможных блокировок и т. д. Это можно назвать главным требованием, хотя для многих апплетов необходимость такого старта отсутствует.
Пример запуска исполняемого файла
Теперь рассмотрим несколько примеров. Предположим, у нас есть уже готовый сценарий в виде BAT-файла, позволяющий перезагрузить операционную систему в режиме тестировщика. Запускаем искомый апплет, нажимаем любую клавишу для продолжения, а затем попадаем в меню выбора действия.
Как видно из показанного выше примера, при помощи такого файла можно удалить обновления системы, загрузить ее в тестовом или в обычном режиме или получить дополнительные сведения. Ввод определенной цифры и задаст выполнение той последовательности команд, которой она назначена.
Более сложные конфигурации
Если посмотреть на более сложные примеры, можно предложить посмотреть на уникальный в своем роде сценарий изменения цифровых подписей исполняемых файлов и сопутствующих динамических библиотек на «майкрософтовские», что особенно часто требуется для установки приложений в модификациях Windows RT, которые в обычном режиме, кроме как из «Магазина», инсталлировать невозможно.
Только в данном случае сначала необходимо перезагрузить систему в тестовом режиме, а затем выполнить нужный сценарий.
Вопросы пакетной обработки информации
Что же касается пакетной обработки файлов, в отношении исполняемых BAT-сценариев такие процессы могут соответствовать именно последовательным действиям на основе содержащихся в апплете команд. Однако зачастую под пакетной обработкой понимают еще и одинаковое преобразование или выполнение каких-то операций применительно не к одному, а к группе файлов. Чтобы было понятнее, такое часто можно увидеть при конвертировании аудио- или видеоформатов, когда вы выбираете несколько исходных объектов для преобразования их в другой единый формат после конвертирования. Пакетные команды тут не используются, но все же в чем-то имеют аналогию с процессами, активируемыми посредством запуска BAT-апплетов.