Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bat.doc
Скачиваний:
6
Добавлен:
10.11.2019
Размер:
151.55 Кб
Скачать

Как автоматизировать запуск bat файлов

Очень часто необходимо автоматизировать запуск bat файлов для выполнения ими рутинных операций. Для запуска bat файлов по расписанию наиболее подходит Планировщик, входящий в стандартную поставку Windows. С это помощью можно очень гибко настроить запуск пакетного файла в определенные дни или часы, с определенным интервалом. Можно создать несколько расписаний и т.д. Для локального запуска batch файлов можно пользоваться решениями от третьих фирм, благо платных и бесплатных альтернатив стандартному Планировщику великое множество. Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их использовании они будут исполняться при каждом входе пользователя в сеть не смотря на его желание. С их помощью можно автоматизировать сбор информации о машинах или о программном обеспечении, установленном на компьютерах пользователей, принудительно менять настройки Windows, устанавливать незаметно для пользователя программное обеспечение и автоматизировать решение других задач, ручное исполнение которых заняло бы очень много времени.

Как добавить комментарии в bat-файл

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

goto start

-------------------------------------- Этот пакетный файл предназначен для автоматизации рутинных операций, выполняемых ночью для синхронизации содержимого корпоративного ftp-сервера с ftp-серверами филиалов -------------------------------------- Пакетный файл написан 01/01/2004 Последнее исправление внесено 10/02/2004 -------------------------------------- И т.д. :start

Такое написание комментария при запуске пакетного файла передаст управление сразу к команде, следующей за меткой start. За это отвечает оператор перехода goto. Более простые комментарии можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.

rem Этот блок устанавливает соединение с удаленным сервером :: Этот блок проверяет дату изменения файлов

Комментирование больших пакетных файлов (как, в принципе, и любого кода) - хороший тон, который значительно облегчает процесс разбора этих файлов другими людьми или самим автором по прошествии значительного времени с момента написания.

Задание

  1. Набрать и выполнить примеры из теоретической части.

  2. Изучить интерфейс командной строки архиватора rar.exe.

  3. Составить batch файл для резервирования данных, используя команду copy и интерфейс командной строки архиватора rar.exe.

  4. Реализовать в batch файле возможность сохранения N предыдущих копий архивов.

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

Пакетные параметры командной строки используются в пакетном файле для получения информации о настройках среды.

Файл Cmd.exe разворачивает переменные с %0 по %9. При использовании пакетных параметров переменная %0 заменяется на имя пакетного файла, а переменные с %1 по %9 — на соответствующие аргументы, напечатанные в командной строке. Для доступа к переменным больше %9 запустите команду shift. Для получения дополнительных сведений о команде shift смотрите раздел Shift. Параметр %* ссылается на все аргументы, которые передаются пакетному файлу, за исключением параметра %0.

Например, для копирования содержимого из папки 1 (Folder1) в папку 2 (Folder2), где параметр %1 заменяется на значение Folder1, а параметр %2 — на значение Folder2, в пакетном файле с именем Mybatch.bat введите следующую строку:

xcopy %1\*.* %2

Для запуска файла введите:

mybatch.bat C:\folder1 D:\folder2

Результат будет таким же, как и при записи в пакетный файл строки:

xcopy C:\folder1 \*.* D:\folder2

С пакетными параметрами можно также использовать модификаторы. Модификаторы используют информацию о текущем диске и каталоге как часть или полное имя файла или каталога. Для использования модификатора напечатайте символ (%), затем символ тильды (~), а затем соответствующий модификатор (т.е., %~модификатор).

В следующей таблице описаны модификторы, используемые для расширения.

Модификатор

Описание

%~1

расширение %1 и удаление любых кавычек ("")

%~f1

замена %1 полным путем

%~d1

замена %1 именем диска

%~p1

замена %1 путем

%~n1

замена %1 именем файла

%~x1

замена %1 расширением имени файла

%~s1

замена путем, содержащим только короткие имена

%~a1

Замена %1 атрибутами файла

%~t1

замена %1 датой и временем модификации файла

%~z1

замена %1 размером файла

%~$PATH:1

поиск в каталогах, перечисленных в переменной среды PATH, замена %1 полным именем первого найденного файла. Если переменная среды не определена или поиск не обнаружил файлов, модификатор выдает пустую строку.

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

Модификатор

Описание

%~dp1

замена %1 именем диска и путем

%~nx1

замена %1 именем файла и расширением

%~dp$PATH:1

поиск в каталогах, перечисленных в переменной среды PATH, и замена %1 именем диска и путем к первому найденному файлу.

%~ftza1

замена %1 строкой, аналогичной результату работы программы dir

Примечание

  • %1 и PATH в показанных выше примерах можно заменить на другие значения пакетных параметров.

Модификатор %* является уникальным, так как он представляет все аргументы, переданные пакетному файлу. Этот модификатор не используется в комбинации с модификатором %~. Конструкция %~ должна завершаться допустимым номером аргумента.

Нельзя манипулировать пакетными параметрами подобно переменным среды. Нельзя искать и заменять значения или контролировать подстроки. Но переменной среды можно назначить параметр, а потом уже ей манипулировать.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]