пакетні файли

Запуск пакетного файлу здійснюється точно так же, як і запуск звичайної здійсненною програми типу .COM або .EXE, тобто для цього вказується ім'я файлу і, якщо потрібно, параметри.

Приклад запуску пакетного файлу START:

Роль пакетних файлів особлива. Вони служать для організації зручного взаємодії користувачів з прикладними програмними системами. Пакетний файл, на відміну від звичайних здійсненних програм, містить не машинні коди програм, а текст, який інтерпретується командним процесором DOS. Рядок цього тексту можуть являти собою:

- вбудовані команди DOS;

- звернення до виконуваним програмам;
- виклики інших пакетних файлів;
- спеціальні команди для управління видачею на екран;
- спеціальні команди для організації розгалужень і циклів;
- мітки.

Всі ці конструкції, за винятком міток, можна вважати командами DOS.

У пакетних файлах DOS можуть фігурувати спеціальні команди. призначені для створення нетривіальних керуючих послідовностей.

Важлива властивість пакетних файлів - можливість завдання в їх текстах формальних параметрів. У пакетних файлах можуть використовуватися формальні параметри% 1 -% 9.

Розглянемо дію спеціальних команд, що дозволяють управляти інтерпретацією командних файлів. До них, як вказувалося, відносяться команди GOTO. IF. FOR. SHIFT. а також команда EXIT, яка відіграє особливу роль при рекурсивном (вкладеному) виклику командних файлів.

Команда GOTO дозволяє передавати управління на мітку і тим самим здійснювати повторне виконання ділянок командного файлу або, навпаки, обходити деякі ділянки (це має сенс в поєднанні з командою розгалуження IF).

Приклад. Нехай командний файл PR.BAT має вигляд:

В даному прикладі другий рядок містить мітку m1 (ознакою мітки є двокрапка на початку рядка), а останній рядок - команду переходу на цю мітку. Чотири команди всередині повторюваного ділянки командного файлу служать для видачі на екран пояснюючих повідомлень (команди ECHO) і копіювання на принтер файлу, ім'я якого підставляється замість формального параметра% 1. Команда PAUSE зупиняє виконання, щоб користувач мав можливість озирнутися і перервати роботу або продовжити її далі.

Припустимо, користувач дає з терміналу команду:

Починається циклічне виконання файлу PR.BAT з фактичним параметром DOCUM.DOC. На принтер почнуть видаватися одна за одною копії цього текстового файлу, що перериваються паузами після кожної чергової копії. Користувач може перервати виконання цього командного файлу, натиснувши одночасно клавіші CTRL-C.

Команда IF дозволяє перевіряти умову і виконувати розгалуження в залежності від результату його перевірки.

Вона має три формату:

Формат1.Проверка коду завершення будь-якої програми, що спрацювала перед оператором IF.

Використовується конструкція такого вигляду: IF ERRORLEVEL

Будь-яка програма може за допомогою спеціального переривання DOS виробити в момент свого закінчення власний код завершення. Цей код порівнюється з числом N. Умова вважається виконаним (істинним), якщо вироблений код завершення дорівнює або більше зазначеного числа N.

Формат2.Проверка наявності файлу в каталозі.

У цьому випадку початок оператора IF має вигляд: IF EXIST <расширенное имя файла>

В даному випадку команда IF перевіряє, чи дійсно існує файл з заданим ім'ям в зазначеному або в поточному каталозі. При виявленні файлу умова вважається виконаною.

Формат3.Сравненіе двох рядків, які, зокрема, можуть задаватися через формальні параметри.

Відповідна конструкція може мати вигляд: IF% == <текстовая строка>

Тут значення формального параметра% зіставляється з конкретною рядком. При абсолютний збіг двох рядків умова вважається виконаною.

Будь-яке з цих умов може здаватися зі знаком логічного заперечення NOT. При цьому істинність умови трактується в протилежному значенні, в порівнянні з вищенаведеними міркуваннями.

Команда FOR забезпечує циклічне виконання команд DOS. При цьому можна задати формальний параметр і список фактичних параметрів (зазвичай - імен файлів), які послідовно підставляються замість формального параметра в текст виконуваної команди.

Нехай є необхідність систематично копіювати файли PROG.PAS PROG.OBJ і PROG.EXE з робочого каталогу на віртуальний диск Е. З цією метою можна у відповідному командному файлі дати команду:

Два наступних поспіль знака% повинні передувати формальному параметру тільки в командних файлах. При вживанні команди FOR безпосередньо з терміналу використовується одиночний знак%.

Команда SHIFT викликає зрушення списку формальних параметрів щодо списку фактичних параметрів.

Так, якщо в командному файлі фігурують формальні параметри% 1 і% 2, а в зверненні до командного файлу - фактичні параметри A, B, C, D, то спочатку відповідність формальних і фактичних параметрів виглядає наступним чином:

Одноразове застосування команди SHIFT дає наступне відповідність:

Дворазове застосування викликає подальше зрушення:

Схожі статті