Смекни!
smekni.com

Пакетні командні файли і файл конфігурації МS DOS (стр. 1 из 2)

Лабораторна робота №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 буферів;