Windows для чайников: основы работы с командами bat-файлов

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


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

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

BAT-файлы: основные возможности

В зависимости от реализовываемых функций, bat-файлы подразделяются на несколько типов:

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

Исполнение bat-файлов

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

Если bar-файлы хранятся в различных директориях, то помимо имени потребуется указание полного пути к нему. При этом указывать расширение необязательно. Давайте предположим, что необходимо запустить выполнение bat-файла с именем priroda.bat, а также дополнительными параметрами resize.doc и /p, расположенного по адресу с:\photogalery\otpusk. Таким образом, для запуска файла достаточно прописать в командной строке команду с:\home\photogalery\otpusk resize.doc /p и начнется автоматическое выполнение процесса.

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

Исполнение любого командного файла можно остановить при помощи двойного нажатия клавиши «+», после чего потребуется подтвердить свое намерение прерывания посредством нажатия клавиши «Y» если вы согласны или «N» — если вдруг вы передумали.

Запуск другого bat-файла

Любой командный файл может выступать в качестве рабочего, который активирует выполнение других bat-файлов. Для этого необходимо прописать в теле такого файла команду CALL, после которой указывается название файла и дополнительные параметры, при необходимости, который необходимо исполнить. Если этот параметр не указать, то ничего не произойдет, поскольку в этом случае происходит передача прав другому файлу.
При задании дополнительных параметров используется символ «%» с указанием переменной от одного до девяти. После завершения выполнения всех команд, начнется исполнение начального скрипта с новой строки.

Последовательное исполнение

Иногда возникает необходимость последовательного исполнения команд, прописанных в теле командного файла. Чаще всего это происходит на этапе отладки и тестирования работоспособности скриптов. Для настройки пошагового выполнения предназначена команда COMMAND, которая прописывается в начале каждой строки. После этой команды указываются переменные /y/c, название скрипта и дополнительные параметры, помещенные в квадратные скобки.
При начале исполнения каждой новой команды со стороны пользователя потребуется подтверждение при помощи клавиши «Enter» или «Escape».

Управление выводом команд на дисплей

При запуске исполнения командного файла происходит оповещение юзера при помощи окна уведомления, после чего начинается непосредственное его выполнение. Однако эти оповещения не всегда являются уместными, поскольку bat-файлы большого объема могут отвлекать юзера от другой работы за компьютером длинными оповещениями. А вот при отладке они, наоборот, окажутся весьма кстати. Для управления функцией вывода команд на дисплей предназначена команда ECHO, а при помощи параметров ON и OFF можно активировать и деактивировать отображение уведомлений.

Если возникла необходимость отключения вывода на экран одной или нескольких команд, то в начале строки необходимо прописать команду @ECHO OFF. Стоит отметить, что многие киберпреступники используют такую команду для того, чтобы скрыть работу вредоносного программного обеспечения, помещенного в исполняемые командные файлы.

Сообщения при исполнении команд

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

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

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

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

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

Задержка исполнения командного файла

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

Последовательное исполнение пакета файлов

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

— FOR %x IN (перечень файлов) DO команда, где:
— х — любой буквенный символ;
— перечень — все файлы можно перечислять через пробел;
— команда — любая DOS-команда или утилита.

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

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

Переходы в командных файлах

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

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

Командные файлы позволяют работать с командами, которые попадают или не попадают под заданные юзером параметры. Для этого используется команда IF, после которой прописывается одно из следующих условий;
— ERRORLEVEL число — подразумевает истинность условия в том случае, если результат выполнения предыдущего приложения соответствует или превышает заданное значение;
— СТРОКА 1 == СТРОКА 2 — истинность значения подразумевается в том случае, если достигается полное соответствие между двумя строками;
— EXIST — имя файла — истинность сохраняется при наличии указанного файла;
— NOT — условие — истинное значение достигается при несоответствии заданного значения.

Какие команды используются в bat-файлах?

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

Работа командных файлов при резервном копировании данных

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

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


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *