- •Введение в технологию командных файлов
- •Как создать batch файл?
- •Команды, используемые в bat файлах
- •Как создать файл с произвольным именем из bat файла
- •Как создать папку из bat файла
- •Как перенаправить результат выполнения команд в файл
- •Как автоматически ответить на запрос о подтверждении
- •Как из одного bat-файла запустить другой
- •Как отправить сообщение из bat-файла
- •Как автоматизировать удаление файлов по типу
- •Как в bat файле дождаться появления определенного файла
- •Как добавить комментарии в bat-файл
- •Автоматическое создание резервной копии данных
Введение в технологию командных файлов
Многие начинающие пользователи и администраторы операционной системы Windows, которым не приходилось ранее работать с MS-DOS и Unix, часто просто не подозревают о тех удобствах в повседневной работе, которые при грамотном применении могут им предоставить стандартные команды Windows и сценарии на базе командной строки (пакетные или командные файлы). Ведь ежедневные рутинные задачи (связанные, например, с копированием или архивированием файлов, подключением или отключением сетевых ресурсов и т.п.), которые обычно выполняются с помощью графического интерфейса проводника Windows, можно полностью автоматизировать, написав командный файл, состоящий всего из нескольких строчек! Более того, для человека, не знающего основные команды Windows и такие базовые возможности операционной системы, как перенаправление ввода/вывода и конвейеризация команд, некоторые простейшие задачи могут показаться очень трудными. Попробуйте, например, пользуясь только графическими средствами, сформировать файл, содержащий имена файлов из всех подкаталогов какого-либо каталога! А ведь для этого достаточно выполнить единственную команду DIR (с определенным ключом) и перенаправить вывод этой команды в нужный текстовый файл.
Очень ярко пренебрежение командной строкой проявляется при работе с Windows NT/2000/XP. Не все, к сожалению, знают, что интерпретатор команд в этих операционных системах обеспечивает весьма мощные возможности при использовании командной строки и пакетных файлов.
Основные функциональные возможности команд Windows, которые имееются во всех версиях операционной системы.
Работа с файловой системой компьютера:
получение информации о структуре файловой системы;
просмотр или изменение атрибутов каталогов и файлов;
создание, копирование или удаление каталогов и файлов;
создание, изменение или удаление метки диска.
Использование ресурсов локальной сети:
получение информации о доступных сетевых ресурсах;
подключение или отключение сетевых дисков и принтеров;
получение информации о доступных очередях печати;
синхронизация системного времени с другим компьютером.
Просмотр и изменение переменных среды.
Запуск в различных режимах внешних программ.
Открытие документов зарегистрированных типов.
С точки зрения программирования командные файлы в Windows 9x обладают следующими возможностями:
Использование в командах внутри файла замещаемых параметров командной строки и переменных среды.
Вывод строк текста на экран и во внешний файл.
Вызов внешних командных файлов (симуляция подпрограмм).
Использование циклов для выполнения одной команды, в том числе для обработки множества файлов.
Использование (ограниченное) оператора условия IF.
Переход на заданную команду внутри текущего файла.
Возможность выбора пользователем во время выполнения файла одного из предложенных вариантов.
В командных файлы Windows NT/2000/XP появляется довольно много новых возможностей. Перечислим наиболее важные из них.
Над переменными среды, заменяемыми параметрами и переменными цикла, можно выполнять арифметические действия, а также проводить определенный синтаксический анализ.
Изменения переменных среды можно локализовать внутри командного файла.
Существует возможность немедленного перехода в конец пакетного файла.
Имеется механизм перехода к заданной метке в новой копии текущего пакетного файла (с произвольными параметрами командной строки).
Усовершенствована работа условного оператора IF (в частности, разрешается использовать операторы условия, отличные от сравнения на равенство).
Появилось несколько новых видов циклов. В частности, реализована возможность чтения и обработки строк из текстового файла, а также обработки строк вывода определенной команды.
Команды из пакета Windows NT Resource Kit позволяют приостанавливать выполнение командного файла на определенное время, а также создавать текстовые файлы-протоколы производимых действий.
Однако при всех своих усовершенствованиях пакетные файлы все-же тяжело использовать как полноценный инструмент для администрирования операционной системы Windows. Упомянем лишь наиболее бросающиеся в глаза недостатки пакетных файлов.
Отсутствует полноценный оператор IF … ELSE.
Нет прямых инструкций, позволяющих читать и записывать текстовые файлы.
Нельзя напрямую работать с рабочим столом Windows и другими специальными папками.
Для написания полноценных сценариев, работающих под управлением Windows, нужно использовать разработанный фирмой Microsoft сервер сценариев Windows (Windows Script Host, WSH).