Лабораторна робота №3
Тема: Пакетні командні файли і файл конфігурації МSDOS.
Мета: Вивчення системи команд командного процесора МSDOS і засобів створення пакетних командних файлів.
Хід роботи:
1. Вивчити розділ III "Стислі теоретичні відомості і методичні вказівки".
2. Розробити і відлагодити пакетний командний файл по завданню.
Теоретичні відомості:
Досить часто в процесі роботи з комп'ютером виявляється, що необхідно повторювати одні й ті ж команди МSDOS(можуть бути з невеликими змінами) для того щоб виконати деякі періодичні дії. Операційна система МSDOSдозволяє записати потрібну для цього послідовність команд в спеціальний файл, що називається командним файлом. Командний файл повинен мати розширення. ВАТ. Послідовність команд, записану в файлі, можна виконати, набравши ім'я командного файлу (розширення. ВАТ при цьому можна не вказувати).
Приклад:
Для оптимізації розміщення файлів на жорсткому диску (тобто "стискання" диску) можна використати таку послідовність команд:
с: перехід на диск с:;
сd\ перехід в кореневий каталог;
wipefile*.bак/N/S видалення всіх файлів з розширенням .ВАК з диску с:;
sd с:/а/с стискування диску с:;
Щоб не набирати кожен раз ці команди, створимо файл СОМРАСТ.ВАТ такого змісту:
с:
сd\
wipefile*.bак/N/S
sd с:/а/с
Тоді при введенні команди СОМРАСТ виконується потрібна послідовність команд.
Ви можете перервати виконання командного файлу, натиснувши [Сtrl-С] або [Сtrl - Break]. Після цього на екрані з'явиться запит:
Terminate batch job (Y/N)?
(Перервати виконання командного файлу (Так/ Ні)?)
Якщо відповісти Y, то виконання командного файлу буде завершене, а команди, що залишилися в командному файлі будуть проігноровані. Якщо відповісти N. то виконання командного файлу буде продовжене з наступної команди.
Відмітимо, що якщо під час натиску [Сtrl-С] програма, що виконується сприймає [Сtrl-С] як сигнал до завершення, то вона буде аварійно завершена незалежно від відповіді на запит.
Останньою командою в командному файлі може стояти ім'я іншого командного файлу; таким чином можна, закінчивши виконання одного командного файлу почати інший.
Якщо вимагається з одного командного файлу викликати інший, а після цього продовжувати виконання вхідного. Це можна зробити командою:
command /с ім'я командного файлу [параметри]
Ця команда викличе для виконання нову копію командного процесора СОММАМО.СОМ і передасть їй для обробки означений командний файл.
В версіях МSDOS, починаючи з 3.3 можна з одного командного файлу викликати інший з допомогою команди CALL:
CALL ім'я командного файлу [параметри]
По замовчуванню команди пакетного файлу виводяться на екран перед виконанням. Якщо вставити в пакетний файл команду ЕСНО ОFF, то команди на екран виводитися не будуть. Команда ЕСНО ON вмикає режим виводу команд, що виконуються, на екран. Часто першим рядком командного файлу буває: ЕСНО ОFF - в цьому випадку на екран виводиться ЕСНО ОFF, а після цього команди, що виконуються, на екран не виводяться.
В версіях МSDOS починаючи з 3.3 можна уникнути виводу на екран ЕСНО ОFF. Для цього перед нею ставиться символ @: @ЕСНО ОFF.
Командні файли з параметрами, що замінюються.
Часто потрібно виконувати одні й ті ж команди або послідовності команд МSDOS тільки з невеликими змінами. Наприклад, для трансляції програми на Фортрані з допомогою транслятора фірми Місrоsоft треба набирати команди типу наступної:
fl/412/AL/Ox/FP i 87/с: ім'я файлу
Щоб спростити виклик цього транслятора можна створити файл FORT.ВАТ такого змісту:
fl/412/AL/Ox/FPi 87/с: %1
При виконанні цього командного файлу значення %1 буде замінене на значення першого параметру при викликові командного файлу. Наприклад, команда FortSimpson. Forбуде замінена на
fl/412/AL/Ox/FPi 87/с:Fort Simpson. For
Всього може використовуватися до дев'ятих параметрів, що позначаються символами %1-%9. Якщо Ви хочете використати більш дев'яти параметрів, треба використати команду SНІFТ.
В командному файлі можна також використати символ %0 ім'я ,що означає файлу ,що виконується.
Якщо в командному файлі знак % використовується не для позначки параметрів, а для інших цілей, наприклад, як частина імені файлу, то його потрібно набрати двічі.
Коментарі в командному файлі
Команда RЕМ дозволяє включити в командний файл коментарі, що не будуть інтерпретуватися як команди. Це робиться для того, щоб файл було зручно читати. Коментарі виводяться на екран по тим же правилам, що й звичайні команди.
ФОРМАТ: RЕМ будь-які символи,
Повідомлення при виконанні командного файлу
Команда echо дозволяє видавати на екран повідомлення з командного файлу, навіть якщо режим виводу echooff (відключений).
ФОРМАТ: ЕСНО повідомлення.
Повідомлення не може бути порожнім або мати значення ОN або ОFF оскільки echo без параметрів виводить: включений чи вимкнутий режим виводу (echoon або echooff ).
З допомогою команди echo можна отримати звуковий сигнал комп'ютера. Для цього потрібне включити в повідомлення символ з кодом 7. Його можна отримати, натиснувши клавішу [alt] і, не відпускаючи її, клавішу [7] в правій частині клавіатури "(тобто клавішу [home]).
Для того, щоб вивести на екран порожній рядок, можна використати команду echo з повідомленням, що складається з символу з кодом. 255. Треба натиснути [alt], не відпускаючи її натиснути, послідовно [2] [5] [5] в правій частині клавіатури.
Зупинка виконання командного файлу
Під час виконання командного файлу може виникнути необхідність його зупинення, наприклад, щоб вставити дискету. Для цього використовується команда РАUSЕ. Вона зупиняє роботу командного файлу і чекає доки не буде натиснуто яку-небудь клавішу (ENTER, алфавітно-цифровий клавіша, пропуск або [Ctrl-С]).
При виконанні цієї команди на екрані з'явиться повідомлення:
Strike a key when ready...
(Натисніть будь-який клавішу, коли будете готові)
Якщо натиснути пропуск, ENTER, або алфавітно-цифровий клавішу, то виконання продовжиться. Якщо натиснути [Сtrl-С] або [Сtrl - Break], то відбудеться переривання див. пункт "Виконання командних файлів".
Корисно перед видаванням команди РАUSЕ повідомляти, що потрібно виконати дії.
Наприклад:
echo Вставте дискету DISKO1 у дисковод А:
РАUSЕ
Переходи в командному файлі
Командний файл може містити мітки й команди переходу. Це дозволяє керувати порядком виконання команд в файлі. Будь-який рядок командного файлу, що починається з : сприймається як мітка. Посилати виконання на цю мітку можна з допомогою команди GОТО. Якщо після GOТО мітка не вказана, то процес пакетної обробки завершується.
Приклад:
goto xxx
.
.
: ххх
Перевірка умов в командному файлі
Команда ІF дозволяє в залежності від виконання умов виконувати або не виконувати команди в командному файлі.
ФОРМАТ: ІF "умова" "команда"
"команда" - це будь-яка команда допустима в командному файлі.
"умова" - ця одна з наведених нижче виразів:
Errorlevel "число" - умова істинна, якщо код завершення попередньої команди більше або рівний "числу". Код завершення виробляється програмою по закінченню її роботи, по замовчуванню він рівний 0.
строка1= = строка2 - умова істинна, якщо рядки 1 і 2 повністю співпадають. Якщо в цих рядках є символи %0-%9, то замість них підставляються параметри командного файлу;
EXIT "ім'я файлу" - умова істинна, коли означений файл існує;
NОТ "умова" - істинна, коли умова означена неправдиво.
Приклад:
Створимо файл ТYР.ВАТ, що виводить деякий файл на екран
ФОРМАТ буде: ТYР ім'я файлу
Ми будемо перевіряти, що при викликові заданий параметр і, що означений файл існує. Командний файл може бути таким:
Echooff
if -%1 == - goto no__ param
іf not exit %1 goto no__ exit
Type %1
Goto exit
:No__ param
echo Повинен бути заданий параметр
Goto exit
:Not__ exit
Echo Файл %1 не знайдений
:exit
Слід помітити, що при порівнянні рядків, що містять %0-%9 потрібно бути обережним. Не слід це робити так:
ІF %2==838.„
Справа в тому, що якщо в командному файлі менше двох параметрів, то %2 буде заміщене порожнім рядком, і при виконанні команди виникне помилка. Ще гірше
ІF SSS== %2„,
оскільки в цьому випадку, якщо в командному файлі менш 2 параметрів можливо виконання зовсім не тієї команди. Правильно так:
іf-%2= =- SSS...
Файл АUTOЕХЕС. ВАТ
Якщо користувачу необхідно, щоб яка-небудь програма виконувалася автоматично кожний раз при запуску МSDOS, він повинен це зробити з допомогою файлу АUTOЕХЕС. ВАТ.
Автоматичне виконання програм ефективно, коли користувач хоче звернутися до спеціального пакету або коли користувачеві необхідно автоматично виконувати командний режим всякий раз, коли запускається система.
Якщо МSDOS знаходить файл АUTOЕХЕС. ВАТ, він негайно виконується процесором консольних команд, і підказки дати і часу обходяться. Якщо МSDOSне знаходить АUTOЕХЕС. ВАТ файл, то виставляються підказки дати і часу.
Необхідно пам'ятати, що якщо використовується файл АUTOЕХЕС. ВАТ, МSDOS не виставляє підказку для введення поточної дати і часу до тих пір, доки команди DАТЕ і ТІМЕ не будуть включені в файл АUTOЕХЕС. ВАТ.
Написання файлу СОNFІG. SYS
В кореневому каталозі жорсткого диску, з якого завантажується операційна система, може знаходитися файл СОNFІG. SYS,що задає параметри МSDOS. Файл СОNFІG. SYS«. повинен являти собою текстовий (АSСІІ) файл. Кожний рядок цього файлу має вигляд:
., Ім’я команди = значення
Нижче перераховуються найбільш часто вживані команди ,що використовуються в
файлі СОNFІG. SYS:
Break= on - встановити режим перевірки натиску [Ctrl - Break] при операціях зводу/виводу з диску. Це дозволяє переривати виконання програм, що інакше б виконувалися до свого завершення;
Buffers= число буферів - встановлення числа буферів для операцій вводу/виводу з диску. Для ІВМ РС без жорсткого диску рекомендується 4-5 буферів, для ІВМ РС ХТ с "жорстким диском 10-20 МБайт -15-20 буферів, для ІВМ РС АТ з жорстким диском 20-40М -30-40 буферів;