Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра „Комп’ютеризовані системи автоматики”
Розрахункова робота
з навчальної дисципліни „Операційні системи”
на тему: „Командні файли операційної системи”
Львів-2009
КОРОТКІ ТЕОРЕТИЧНІ ДАНІ
Основні команди ОС для управління файловою системою.
Файл – це найменша пойменована логічно впорядкована структурно нероздільна сукупність даних на диску. В залежності від типу інформації, яка зберігається у файлі розрізняють текстові, графічні, програми в машинних кодах тощо. Для файлів одного типу існує декілька форматів запису даних.
Каталог – це пойменована сукупність файлів та вкладених каталогів на диску, логічно об’єднаних за функціональним призначенням (пакет прикладних програм, СУБД, текстові файли по одній тематиці тощо). З точки зору структури даних каталог – це файл, записаний в особливому форматі файлової системи, що містить список вкладених в нього файлів і каталогів.
Безпосередньо імена файлів і каталогів, як логічної одиниці даних на диску складаються з двох частин :
Ім’я[.розширення], де
ім’я – основний ідентифікатор файлу (каталогу), який може складатися з 1 – 8 дозволених символів;
розширення – додатковий ідентифікатор, який визначає тип (формат) файлу або додаткову специфікацію каталогу, і може складатися з 1 – 3 дозволених символів.
В іменах (розширеннях) файлів та каталогів можуть використовуватися в довільній послідовності літери латинського алфавіту, цифри та символи - , _ , $ , @ , #, & , ! , % , ( , ) , [, ] , { , } , ‘ , ~ , ^ .
В операційній системі MS DOS (Windows) використовуються наступні стандартні розширення файлів:
.com, .exe – програми в машинних кодах;
.bat – командні файли;
.txt, .doc – текстові документи;
.bas, .pas, .c, .cpp, .asm – тексти програм на алгоритмічних мовах;
.bat – копії текстових файлів.
Наступні послідовності символів заборонено використовувати в якості імен файлів, можуть бути використані в якості розширень:
AUX – зовнішній пристрій;
COM1…COM3 – пристрої (порти) послідовного вводу-виводу;
LPT1…LPT4 – пристрої (порти) паралельного вводу-виводу;
CON – консоль, стандартний пристрій вводу або виводу;
PRN – друкуючий пристрій;
NUL – “порожній” пристрій.
При необхідності точно вказати місце знаходження файлу в системі каталогів перед іменем файлу вказують шлях до нього:
[Диск:][\каталог1\каталог2\...\]ім’я[.розширення]
При виконанні команд ОС можна використовувати шаблони імен файлів, для визначення групи файлів, що будуть оброблятися однією командою. В шаблонах використовують наступні символи:
* – довільна послідовність символів в імені;
? – довільний символ.
Наприклад: *.* , *.txt , pr?*.doc , ???.*.
Командна мова – це підсистема ОС, яка реалізує взаємодію користувача з усіма ресурсами ПК (апаратними і програмними) шляхом виконання окремих команд або їх послідовності в командному рядку або через командний файл. Інструментом підтримки командної мови MS DOS є командний процесор command.com.
Командний рядок починається із заданої командою PROMT послідовності, яка за замовчуванням має наступний вигляд:
диск:\[шлях]>_ ,
де диск: – поточний логічний диск;
шлях – поточний каталог.
Всі команди MS DOS за типом їх реалізації можна розділити на дві групи:
внутрішні, які вбудовані безпосередньо в командний процесор і не вимагають на диску додаткових файлів програм для їх виконання;
зовнішні, так звані утиліти, які реалізуються окремими файлами машинних кодів, що постачаються в комплекті ОС (в каталозі DOS).
Виходячи з цього виконання будь-якої прикладної програми можна розглядати як виконання зовнішньої команди ОС.
За призначенням команди поділяють на:
загального призначення, що можуть виконуватися в командному рядку або через командні файли;
управління виконанням командних файлів.
Загальний формат команд загального призначення можна представити у вигляді:
команда[параметри][опції],
де параметри – імена файлів, каталогів, пристроїв, спеціальна послідовність символів тощо, які визначають об’єкти дії та основні режими (тип дії) команди;
опції – один або послідовність символів, які визначають додаткові умови (режими) виконання команди; кожна опція починається символом /; опції розділяються між собою пробілами.
При виконанні команд (командних файлів, прикладних програм) за замовчуванням вхідні параметри вводяться з клавіатури (стандартного пристрою вводу) в командний рядок, а повідомлення і результати виконання команд виводяться на дисплей (стандартний пристрій виводу).
При необхідності ввід і вивід для команд і прикладних програм можна перенаправити з допомогою наступних символів:
< - перенаправлення вводу даних (джерело < команда);
> - перенаправлення виводу даних (команда > приймач);
>> - перенаправлення вводу даних в файл з доповненням в кінець файлу (команда >> файл );
| - перенаправлення результату виводу попередньої команди на вхід наступної (конвеєризація команд – команда1 | команда2 | команда3).
Основні команди управління файловою системою операційної системи MS DOS наведені в таблиці 1.
Таблиця 1
Загальний формат
Команди
Призначення
Тип
Основні опції
Управління дисками
Fdisk
Створення розділів і логічних дисків
Зовн.
Format диск:
Форматування логічного диску
Зовн.
/b, /s, /v, /u, /q
Chkdsk [диск:][[шлях\]файл]
Перевіряє правильність зберігання даних у файлах та фізичний стан логічного диску
Зовн.
/f, /v
Diskcopy [диск1:][диск2:]
Посекторне копіювання дискет
Зовн.
Disccomp [диск1:[диск2:]]
Порівнює вміст двох дискет
Зовн.
диск:
Зміна поточного диску
Внутр.
Управління каталогами
Tree [диск:][шлях]
Вивід структури каталогу
Зовн.
Dir [диск:][шлях][файли]
Вивід вмісту каталогів
Внутр.
Mkdir (md) [диск:] шлях
Створення каталогу
Внутр.
Rmdir (rd) [диск:] шлях
Вилучення порожнього каталогу
Внутр.
Chdir (cd) [диск:] шлях(..)
Зміна поточного каталогу
Внутр.
Comp [диск1:][шлях1]
[диск2:][шлях2]
Порівняння вмісту каталогів
Зовн.
Xcopy [диск1:][шлях1]
[диск2:][шлях2]
Копіює вміст каталогу
Зовн.
Управління файлами
Type [диск:][шлях] файл
Вивід вмісту файлу
Внутр.
del | erease [диск:][шлях] файл
Вилучення файлу на диску
Внутр.
Ren [диск:][шлях] файл1 файл2
Змінює ім’я файлу
Внутр.
Copy [диск1:][шлях1] файл1
[диск2:][шлях2] [файл2]
Копіює файл(и) з одного каталогу в інший
Внутр.
Attrib [r][a][s][h]
[диск:][шлях][файл]
Встановлює нові атрибути
Зовн.
Print [диск:][шлях] файл
Виводить на друк вміст текстових файлів в фоновому режимі
Зовн.
Path [[диск:][шлях]
[;[диск:][шлях]...]]
Визначає послідовність пошуку файлів командним процесором і прикладними програмами, якщо їх місцезнаходження точно не вказане
Внутр.
Для отримання довідки про формат, призначення та опції будь-якої команди необхідно в командному рядку набрати ім’я команди і задати опцію /?:
команда /?
1.2. Створення командних файлів
Якщо для виконання поставленої задачі необхідно виконати деяку послідовність команд ОС і/або прикладних програм, при цьому таку послідовність необхідно часто повторювати, то це можна реалізувати з допомогою командних файлів.
Командний файл – це текстовий файл з розширенням .bat, що містить задану послідовність виконання команд ОС та прикладних програм, яка може супроводжуватися перевіркою значень вхідних (фактичних) параметрів та результатів виконання попередніх команд і програм, вказаних в послідовності, та організацію повторень (циклів) виконання окремих команд і програм.
Для управління виконанням команд (програм), вказаних в тексті командного файлу, використовуються спеціальні команди (таблиця 2).
Командним файлам можна передавати параметри, звернення до яких всередині командного файлу відбувається за їх порядковими номерами в командному рядку за наступним форматом:
%n,
де n – число в діапазоні 0...9; 0 – означає ім’я командного файлу.
В командних файлах можна використовувати значення змінних середовища, помістивши ім’я змінної між двома символами %:
%змінна%
Таблиця 2
Загальний формат
команди
Призначення
Echo [on|off] | [повідомлення]
Контроль за виводом повідомлень на екран.
Call [диск:][шлях] файл[.bat] [параметри]
Виклик іншого командного файлу.
Pause [рядок]
Призупиняє виконання командного файлу і виводить рядок та Strike a key when ready…, якщо встановлено echo on. Якщо встановлено echo off, команда ігнорується.
Rem [рядок]
Виводить рядок, якщо встановлено echo on. Якщо встановлено echo off, рядок сприймається як коментар.
Shift
Зсуває вліво (зменшує на 1) номер кожного параметра даного командного файлу. Це дозволяє початково вказувати більше 9-ти параметрів.
Goto [:] мітка
Безумовний перехід на рядок командного файлу, після рядку з :міткою.
If [not] errorlevel n команда
Виконується команда, якщо остання виконана програма (команда) повертає значення рівне або більше (not - менше) значення n.
If [not] рядок1==рядок2 команда
Виконується команда, якщо рядок1==рядок2 (not – не співпадають).
If [not] exist файл команда
Виконується команда, якщо файл існує (not – не існує) на диску.
For %[%]змінна in (список) do команда [параметри]
Виконує команду для кожного файлу або диску, вказаного в списку, почергово присвоюючи змінній імена файлів зі списку. Два символи % використовуються в командних файлах. Змінна – одна з літер латинського алфавіту a…z.
@
Використання символу на початку командного рядка (перед командою), забороняє вивід самої команди на екран (принтер, файл), якщо встановлено echo on, зокрема echo off.
Завдання
Ознайомитися з основами організації файлової системи операційної системи MS DOS (Windows).
Ознайомитися із синтаксисом та використанням основних команд управління файловою системою.
Ознайомитися із синтаксисом та використанням команд управління для командних файлів.
Написати командний файл для виконання визначеного завдання. Варіанти завдань вказані в таблиці 3.
Відлагодити і виконати на комп’ютері створений командний файл. Результати виконання занести в звіт.
Варіант завдання
Створити командний файл для переміщення файлів з заданим розширенням із заданого каталогу на заданому диску в каталог G:\ шлях\TTT (шлях вказується користувачем) та виводу повідомлень про переміщення і результату на стандартний пристрій виводу. При необхідності каталог G:\шлях\TTT повинен бути створений. Забезпечити блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та існування файлів, що переміщуються, та вивід повідомлення про успішність виконання операції.
Готовий командний файл
@ echo off
Path G:\GromuwA
If “ %PATH%”==”” goto Unsuccessful
for %%p in (%PATH%) do if exist %%p\*.txt copy %%p\*.txt G:\ GromuwA \TTT
for %%p in (%PATH%) do if exist %%p\*.txt del %%p\*.txt
echo Ok
goto End
=Unsuccessful
Echo Ok!
=End
pause > nul
Розміщення файлів до роботи командного файлу
BEFORE:
G:\ GromuwA \f1.txt
G:\ GromuwA \f2.txt
G:\ GromuwA \f3.txt
G:\ GromuwA \f4.txt
Розміщення файлів після роботи командного файлу
AFTER:
G:\ GromuwA \TTT\f1.txt
G:\ GromuwA \TTT\f2.txt
G:\ GromuwA \TTT\f3.txt
G:\ GromuwA \TTT\f4.txt
Висновок
Виконуючи дану розрахункову роботу я ознайомилась з основами організації файлової системи операційної системи MS DOS (Windows), із синтаксисом та використанням основних команд управління файловою системою, із синтаксисом та використанням команд управління для командних файлів.
Створила командний файл для переміщення файлів з заданим розширенням із заданого каталогу на заданому диску(в даному випадку з каталогу G:\ GromuwA \txt) в каталог G:\шлях\TTT (в даному випадку в каталог G:\ GromuwA \TTT\txt) та виводу повідомлень про переміщення і результату на стандартний пристрій виводу. Забезпечила блокування виводу на екран команд командного файлу, максимальне блокування виводу на екран повідомлень ОС, контроль наявності вхідних параметрів та існування файлів, що переміщуються, та вивід повідомлення про успішність виконання операції.