Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська Політехніка»
Звіт
про виконання лабораторної роботи № 2
з курсу: «Операційні системи»
Львів – 2012
Мета: Вивчити принципи побудови та організації пакетних файлів і сценаріїв в середовищі ОС Windows XP.
1. Короткі теоретичні відомості
Пакетний файл це неформатований текстовий файл ASCII, утримуючий одну або декілька команд ОС. Імена пакетних файлів мають розширення .bat або .cmd. ОС при роботі з пакетним файлом послідовно обробляє його команди після введення його імені в рядку командної оболонки або запуску з іншої програми. Іншим різновидом пакетного файлу є сценарій, котрий представляє собою програму, що складається з набору інструкцій для роботи програми або службової утиліти. Інструкції в сценаріях зазвичай виражаються за допомогою правил та синтаксису відповідного додатку або службової утиліти в поєднанні з простими керуючими операторами, такими як оператори циклів і умовні оператори.
Пакетні файли і сценарії часто називають командними файлами, що містять будь-які команди. Деякі команди, такі як For, Goto і If дозволяють виконувати обробку умов в пакетних файлах. Зокрема, If дозволяє запускати команди в залежності від виконання заданої умови. Інші команди дозволяють керувати введенням і виводом інформації, а також запускати інші пакетні файли. Спільно з командами, вивченими в попередніх лабораторних роботах, вище вказані команди дозволяють створювати пакетні файли практично для будь-яких цілей управління роботою і адміністрування ОС Windows XP.
Наступне, що необхідно відзначити при організації пакетних файлів і сценаріїв, є застосування змінних, які задають поведінку командної оболонки або ОС в цілому і так званих пакетних параметрів командного інтерпретатора, які використовуються в пакетному файлі для отримання інформації про налаштування середовища. Є можливість визначити поведінку середовища командної оболонки або всієї ОС за допомогою двох типів змінних середовища: системних і локальних.
Системні змінні визначають поведінку глобального середовища ОС. Локальні змінні визначають поведінку середовища в конкретному екземплярі командного інтерпретатора Cmd.exe.
Системні змінні середовища задаються заздалегідь в ОС Windows XP і доступні для всіх її процесів. Тільки користувачі з привілеями адміністратора можуть змінювати ці змінні.
Локальні змінні середовища доступні у випадку, коли користувач, для якого вони були створені, входить в систему. Зокрема, локальні змінні реєстру HKEY_CURRENT_USER підходять тільки для поточного користувача, але визначають поведінку глобального середовища ОС.
У наступному списку представлені різні типи змінних в порядку
убування їх пріоритету:
вбудовані системні змінні,
системні змінні реєстру HKEY_LOCAL_MACHINE,
локальні змінні реєстру HKEY_CURRENT_USER,
всі змінні середовища та шляхи, зазначені у файлі Autoexec.bat,
всі змінні середовища та шляхи, зазначені в сценарії входу в систему,
якщо він є,
змінні, використовувані інтерактивно в пакетному файлі або сценарії.
Щоб мати можливість підставити значення в змінну середовища з командного рядка або в пакетному файлі (сценарії), слід укласти ім'я відповідної змінної в символи відсотків (%), наприклад встановіть MyPath =% CD%. Символи відсотків вказують на те, що командний інтерпретатор повинен звернутися до значення змінної без посимвольного її розкладання і порівняння.
Командний інтерпретатор Cmd.exe може оперувати змінними з %0
по %9. При використанні пакетних параметрів змінна% 0 замінюється іменем пакетного файлу, а змінні з %1 по %9 - на відповідні аргументи командного рядка. Для доступу до змінних більше %9 необхідно користуватися командою Shift. Параметр %* посилається на всі аргументи, які передаються пакетному файлу, за винятком %0.
Як приклад, розглянемо копіювання вмісту з каталогу 1 (Folder1) в каталог 2 (Folder2), де параметр %1 замінюється значенням Folder1, а параметр %2 відповідно значенням Folder2. У пакетному файлі Mybatch.bat слід ввести наступний рядок:
Xcopy %1\ *.* %2
Використовуйте пакетний файл Mybatch.bat наступним чином:
Mybatch.bat C: \ folder1 D: \ folder2
Результат буде таким же, як і при записі в пакетний файл рядків:
Xcopy C: \ folder1 \ * D *. \ Folder2 \
З пакетними параметрами можна також використовувати модифікатори. Модифікатори використовують інформацію про поточний диск і каталог як частину або повне ім'я файлу (каталогу).
Синтаксис модифікатора: %~ху, де х - символьне скорочення дії, визначеної модифікатором, у - ідентифікатор змінної (в діапазоні від 1 до 9).
У табл. 1 і 2 описані модифікатори, і задані можливі комбінації модифікаторів і кваліфікаторів для отримання більш складних результатів. У цих таблицях %1 і змінну середовища PATH можна замінити іншими значеннями пакетних параметрів.
Таблиця 1. Модифікатори і виконувані ними дії
№
Модифікатор
Опис
1
%~1
Розширення %1 і видалення лапок («»)
2
%~f1
Заміна %1 повним шляхом
3
%~d1
Заміна %1 на ім‘я диску
4
%~p1
Заміна %1 шляхом
5
%~n1
Заміна %1 на ім‘я файлу
6
%~x1
Заміна %1 на розширення ім‘я файлу
7
%~s1
Заміна шляхом, який містить короткі імена
8
%~a1
Заміна %1 атрибутами файлу
9
%~t1
заміна% 1 датою і часом модифікації файлу
10
%~z1
Заміна %1 розміром файлу
11
%~$PATH:1
пошук в каталогах, перерахованих в змінній середовища PATH, заміна% 1 повним ім'ям першого знайденого файлу. Якщо змінна середовища не визначена або пошук не виявив файлів, модифікатора видає порожній рядок.
Таблиця 2. Комбінації модифікаторів і кваліфікаторів
№
Модифікатор
Опис
1
%~dp1
заміна% 1 ім'ям диску і шляхом
2
%~nx1
заміна% 1 ім'ям файлу та розширенням
3
%~dp$PATH:1
пошук в каталогах, перерахованих в змінної середовища PATH, і заміна% 1 ім'ям диска і шляхом до першого знайденого файлу
4
%~ftza1
заміна% 1 рядком, аналогічної результату роботи команди Dir
Ще один модифікатор, який є унікальним, має вигляд %*. Він представляє всі аргументи, передані пакетному файлу. Цей модифікатор не використовується в комбінації з модифікатором %~.
Виконуючим механізмом, що дозволяє реалізувати задумані в пакетному файлі або сценарії дії, є сервер сценаріїв ОС Windows XP, який дозволяє швидко запустити пакетний файл або сценарій, ввівши його ім'я в рядку командної оболонки. Сервер сценаріїв служить контролером засобів обробки сценаріїв в ОС Windows XP. Однак, на відміну від інших засобів обробки сценаріїв, сервер сценаріїв ОС Windows XP не вимагає багато пам'яті і є ідеальним засобом, як для інтерактивних, так і для пакетних сценаріїв, таких як сценарій входу в систему або сценарій адміністрування.
Існують дві версії сервера сценаріїв, доступних у вікні командної оболонки: Wscript.exe - дозволяє задавати параметри виконання сценаріїв в вікні властивостей, і Cscript.exe - дозволяє задавати параметри виконання сценаріїв за допомогою ключів командного рядка.
У ранніх версіях ОС Windows XP в якості мови сценаріїв підтримувалася лише мова команд MS-DOS. У порівнянні з новими мовами VBScript і JScript, мова команд MS-DOS має обмежений набір засобів, хоча й є більш компактним і швидким. Зокрема, в MS-DOS немає засобів для управління процесом виконання програми, в той час як сервер сценаріїв ОС Windows XP, заснований на мові VBScript (JScript), дозволяє користуватися подібними перевагами і при цьому підтримувати мови команд MS-DOS.
Для розробки сценаріїв ОС Windows XP слід використовувати редактори сценаріїв JScript або VBScript (у складі Visual Basic Scripting Edition). При запуску сценарію з командного рядка, сервер сценарію читає і передає зміст зазначеного файлу зареєстрованому обробникові сценаріїв. Для визначення мови сценарію використовується розширення імені файлу (. vbs для
VBScript,. Js для JScript).
Приклад використання сценарію Wscript.exe. Створити текстовий файл, в якому набрати наступний текст :
WScript.Echo("Hello world!");
Зберегти файл з розширенням .js (замість .txt). Після запуску цього файлу з‘явиться повідомлення :
Завдання
2
Пакетний файл, призначений для організації процесу пошуку і відображення текстового файлу. Пошук здійснюється по усіх локальних дисках. Ім'я текстового файлу задається пакетним параметром. Після того, як необхідний файл знайдений, у автоматичному режимі здійснюється його відображення в текстовому процесорі "Блокнот".
Текст командного файлу:
@echo off
for /r E:\New %%i in (file.txt) do notepad %%i
pause
exit
Результат роботи програми:
Висновок: На даній лабораторній роботі ми вивчили принципи побудови та організації пакетних файлів і сценаріїв в середовищі ОС Windows XP.