- •Лабораторный практикум.
- •Часть II
- •Лабораторная работа №5. Организация пакетных файлов и сценариев в ос Windows xp
- •Введение
- •Задание 5.1. Команда Set
- •Содержание задания
- •Задание 5.2. Команды Rem, Echo
- •Содержание задания
- •Задание 5.3. Утилита For
- •Содержание задания
- •Задание 5.4. Команда If
- •Содержание задания
- •Задание 5.5. Команда Goto
- •Содержание задания
- •Задание 5.6. Команда Call
- •Содержание задания
- •Варианты для заданий 5.1, 5.6.
- •Задание 5.7. Команды Setlocal, Endlocal
- •Содержание задания
- •Задание 5.8. Создание пакетного файла, реализующего определенную последовательность действий в ос Windows xp
- •Варианты для задания 5.8.
- •Лабораторная работа №6. Мониторинг, оптимизация и аудит ос Windows xp
- •Введение
- •Задание 6.1. Программные модули Msinfo32, Taskmgr.Exe, Dxdiag.Exe, Msconfig.Exe
- •Содержание задания
- •Лабораторная работа №7. Организация консоли администрирования в ос Windows xp
- •Введение
- •Задание 7.1. Изменение параметров и способов настройки консоли администрирования mmc
- •Содержание задания
- •Задание 7.2. Добавление различных элементов и компонентов к дереву консоли администрирования mmc
- •Содержание задания
- •Задание 7.3. Создание нового вида панели задач консоли администрирования mmc
- •Содержание задания
- •Задание 7.4. Добавление элементов и компонентов дерева консоли в виде списка ярлыков в меню «Избранное»
- •Содержание задания
- •Задание 7.5. Ознакомление с оснасткой «Локальные пользователи и группы»
- •Содержание задания
- •Задание 7.6. Взаимосвязь утилиты «Учетные записи пользователей» с оснасткой «Локальные пользователи и группы» при смене типа учетной записи
- •Содержание задания
- •Задание 7.7. Возможности оснастки «Локальные пользователи и группы» при работе с профилями пользователей
- •Содержание задания
- •Задание 7.8. Основные возможности оснастки «Редактор объекта групповой политики»
- •Содержание задания
- •Задание 7.9. Возможности оснастки «Групповая политика» при настройке локального узла
- •Содержание задания
- •Задание 7.10. Возможности оснасток, предназначенных для диагностики, мониторинга, настройки и оптимизации
- •Содержание задания
- •Задание 7.11. Возможности оснастки «Просмотр событий»
- •Содержание задания
- •Лабораторная работа №8. Работа с Реестром ос Windows xp
- •Введение
- •Подготовка к выполнению лабораторной работы
- •Задание 8.1. Изучение основных возможностей системного модуля «Редактор Реестра» ос Windows xp на конкретных примерах
- •Содержание задания
- •Задание 8.2. Изучение некоторых специальных возможностей Реестра ос Windows xp в системном модуле «Редактор Реестра» на конкретных примерах.
- •Содержание задания
- •Изучение возможностей конфигурирования ос Windows xp посредством специальных настроек Реестра, твиков и скриптов на его основе, направленных на оптимизацию работы системы.
- •Задание 8.3. Конфигурирование контекстного меню служебного программного средства «Мой компьютер» ос Windows xp посредством применения твика Реестра.
- •Содержание задания
- •Задание 8.4. Конфигурирование ос Windows xp с целью оптимизации ее работы и увеличения быстродействия.
- •Содержание задания
- •Библиографический список
- •Приложение 1.
- •Приложение 2. Стандартные консоли ос Windows xp
- •Приложение 8.1. Оптимальная конфигурация служб ос Windows xp
Задание 5.3. Утилита For
Утилита For командной среды предназначена для выполнения циклических операций для заданного множества операндов.
Синтаксис команды For:
For {% переменная| %%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
где параметр:
%переменная - любые символы, кроме цифр 0–9 используется для выполнения команды из строки в окне командной оболочки;
%%переменная - любые символы, используется для выполнения команды в пакетном файле. Переменные должны учитывать регистр.
(множество) — обязательный параметр, задающий один или группу файлов, каталогов, диапазон значений или текстовых строк, указывающих на файлы, подлежащие обработке заданной командой. Например, допустимыми являются следующие варианты: (*.doc), (*.doc *.txt *.me), (jan*.doc jan*.rpt feb*.doc feb*.rpt), (ar??1991.* ap??1991.*). Скобки являются обязательными для обозначения множества.
команда — обязательный параметр, задающий команду, которая будет выполнена для каждого операнда множества.
ПараметрыКоманднойСтроки — задает параметры командной строки, которые используются с указанной командой.
Если расширения командного интерпретатора разрешены, что делается по умолчанию, то существуют дополнительные формы команды For.
For /D {% переменная| %%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
Если множество содержит подстановочные знаки, команда выполняется для всех подходящих имен каталогов, а не имен файлов.
For /R [[диск :]путь] {% | %%} переменная in (множество) do команда [ПараметрыКоманднойСтроки]
Выполнение команды для каталога [диск:]путь, а также для всех подкаталогов этого пути. Если после ключа /R не указано имя каталога, выполнение команды начинается с текущего каталога. Если вместо набора указана только точка (.), команда выводит список всех подкаталогов.
For /L {% | %%} переменная in (НачальноеЗначение#,шаг#, КонечноеЗначение#) do команда [ПараметрыКоманднойСтроки]
Множество раскрывается в последовательность чисел с заданными началом, концом и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5), а набор (5,-1,1) заменяется на (5 4 3 2 1)
FOR /F ["ключи"] %переменная IN (множество) DO команда [параметры]
FOR /F ["options"] %variable IN ("literal string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
или, если использован параметр usebackq:
FOR /F ["options"] %variable IN (filenameset) DO command [command-parameters]
FOR /F ["options"] %variable IN ('literal string') DO command [command-parameters]
FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]
Набор содержит имена одного или нескольких файлов, которые по очереди открываются, читаются и обрабатываются. Обработка состоит в чтении файла, разбивки его на отдельные строки текста и выделения из каждой строки заданного числа подстрок (в том числе нуля). Затем найденная подстрока используется в качестве значения переменной при выполнении основного тела цикла. По умолчанию ключ /F выделяет из каждой строки файла первое слово, очищенное от окружающих его пробелов. Пустые строки в файле пропускаются. Необязательный параметры "ключи" служит для переопределения заданных по умолчанию правил обработки строк. Ключи представляют собой заключенную в кавычки строку, содержащую указанные параметры. Ключевые слова:
eol=c - определение символа комментариев в конце строки (допускается задание только одного символа).
skip=n - число пропускаемых при обработке строк в начале файла.
delims=xxx - определение набора разделителей для замены заданных по умолчанию пробела и знака табуляции.
tokens=x,y,m-n - определение номеров подстрок, выделяемых из каждой строки файла и передаваемых для выполнения в тело цикла. При использовании этого ключа создаются дополнительные переменные. Формат m-n представляет собой диапазон подстрок с номерами от m по n. Если последний символ в строке tokens= является звездочкой, создается дополнительная переменная, значением которой будет весь оставшийся текст в строке после обработки последней подстроки.
usebackq - применение новой семантики, при которой строки, заключенные в обратные кавычки, выполняются как команды, строки, заключенные в прямые одиночные кавычки, являются строкой литералов команды, а строки, заключенные в двойные кавычки, используются для выделения имен файлов в списках имен файлов.
Поясняющий пример: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
Эта команда обрабатывает файл myfile.txt, пропускает все строки, которые начинаются с символа точки с запятой, и передает вторую и третью подстроки из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или пробелами. В теле цикла переменная %i используется для второй подстроки, %j - для третьей, а %k получает все оставшиеся подстроки после третьей.
Имена файлов, содержащие пробелы, необходимо заключать в двойные кавычки. Для того чтобы использовать двойные кавычки, необходимо использовать параметр usebackq, иначе двойные кавычки будут восприняты как границы строки для обработки.
Переменная %i явно описана в инструкции for, а переменные %j и %k описываются неявно с помощью ключа tokens=. Ключ tokens= позволяет извлечь из одной строки файла до 26 подстрок, при этом, не допускается использование переменных больших чем буквы 'z' или 'Z'. Следует помнить, что имена переменных FOR являются глобальными, поэтому одновременно не может быть активно более 52 переменных.
Синтаксис команды FOR /F также позволяет обработать отдельную строку, с указанием параметра filenameset, заключенным в одиночные кавычки. Строка будет обработана как единая строка из входного файла.
Наконец, команда FOR /F позволяет обработать строку вывода другой команды. Для этого следует ввести строку вызова команды в апострофах вместо набора имен файлов в скобках. Строка передается для выполнения обработчику команд CMD.EXE, а вывод этой команды записывается в память и обрабатывается так, как будто строка вывода взята из файла. Например, следующая команда:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
выведет перечень имен всех переменных среды, определенных в настоящее время в системе.
Операции подстановки ссылок на переменные команды FOR также расширены. Допускается применение следующих синтаксических конструкций:
%~I - из переменной %I удаляются обрамляющие кавычки (")
%~fI - переменная %I расширяется до полного имени файла
%~dI - из переменной %I выделяется только имя диска
%~pI - из переменной %I выделяется только путь к файлу
%~nI - из переменной %I выделяется только имя файла
%~xI - из переменной %I выделяется расширение имени файла
%~sI - полученный путь содержит только короткие имена
%~aI - переменная %I расширяется до атрибутов файла
%~tI - переменная %I расширяется до даты /времени файла
%~zI - переменная %I расширяется до размера файла
%~$PATH:I - проводится поиск по каталогам, заданным в переменной среды PATH, и переменная %I заменяется на полное имя первого найденного файла. Если переменная PATH не определена или в результате поиска не найден ни один файл, то этот модификатор заменяется на пустую строку
При объединении нескольких операторов можно получить следующие результаты:
%~dpI - переменная %I заменяется только на имя диска и путь
%~nxI - переменная %I заменяется только на имя файла и его расширение
%~fsI - переменная %I заменяется только на полный путь с краткими именами
%~dp$PATH:I - проводится поиск по каталогам, заданным в переменной среды PATH, и переменная %I заменяется на имя диска и путь к первому найденному файлу.
%~ftzaI - переменная %I заменяется на строку, выдаваемую командой DIR
В приведенных выше примерах переменные %I и PATH можно заменить на любые другие допустимые значения. В таких синтаксических конструкциях за символами %~ может следовать любое имя переменной цикла FOR.
Рекомендуется использовать заглавные буквы для имен таких переменных, например, %I, что делает их более заметными, а также позволяет отличать их от обозначений модификаторов, которые не различают используемый регистр.
