You are on page 1of 17

Операційні системи

Лекція_12:
Використання пакетних файлів у
Windows
План:
1. Технологія пакетних файлів.
2. Створення пакетних файлів.
3. Використання пакетних файлів СРС
3
1. Технологія пакетних файлів.
Командні інтерпретатори цих систем пропонують
два режими роботи:
•інтерактивний режим (коли користувач
безпосередньо вводить команди в командному
рядку й негайно їх виконує)
•пакетний режим (коли користувач запускає
попередньо записану послідовність команд).
4
Командний інтерпретатор має назву –
COMMAND.COM cmd.exe
Пакетні файли, як й інші мови програмування,
також використаються для написання вірусів.
– доводиться застосовувати нетривіальні трюки
для обходу обмеженості мов пакетних файлів.
+в пакетних файлах доступний весь
функціонал утиліт командного рядка,
представлених в операційній системі.
5
Пакетний файл (англ. batch file)— текстовий
файл в MS-DOS, OS/2 або Windows, що містить
послідовність команд, призначених для
виконання командним інтерпретатором.
Після запуску пакетного файлу, програма —
інтерпретатор читає його рядок за рядком і
послідовно виконує команди.
Пакетний файл — аналог shell script в Unix-
подібних операційних системах. 6
Пакетні файли корисні для автоматичного запуску
додатків.
Мають розширення в DOS - .bat; для інших операційних
систем — наприклад, .CMD в Windows NT й OS/2, або
.BTM в 4DOS або подібних оболонках.
Термін «пакетний файл» може мати на увазі пакетний
або командний файл:
•Командні файли є вдосконаленою технологією
пакетних і виконуються інтерпретатором cmd.exe.
•Пакетні файли мають обмежений набір команд у
порівнянні з командними файлами й виконуються
повільніше. 7
2. Створення пакетних файлів.
Алгоритм створення:
1. Продумати послідовність команд.
2. Створити текстовий документ із розширенням .bat або
.cmd.
3. Увести потрібні команди (кожну з нового рядка).
4. Зберегти документ.
Це можна проробити в будь-якому текстовому редакторі
(Блокноті). З метою безпеки рекомендується
переглядати вміст перед запуском, якщо вони створені
не вами й отримані із сумнівних джерел. 8

Кожен рядок bat-файлу являє собою дію (команду).


Припустимо, що повні шляхи й імена файлів такі:
D:\Work\Profits.xls, D:\Home\Home.doc й
C:\MyDocs\Oplata.doc, а G:\ – знімний флеш-
диск для резервної копії. Тоді потрібний пакетний
файл буде виглядати так:
copy D:\Work\Profits.xls G:\Backup\
copy D:\Home\Home.doc G:\Backup\
copy C:\MyDocs\Oplata.doc G:\Backup\
pause
9
Команди, які використовуються в командних
файлах
Використовується для виклику іншого
call <batch file> командного файлу з виконуваного. На час
виконання викликаного файлу, виконання
файлу припиняється.
exit Використовується для зупинки виконання
командного файлу.
findstr <string> Використовується для знаходження рядка у
<filename(s)> файлі. Може застосовуватися
з деякими параметрами (ключами), для
уточнення параметрів пошуку. 10
for Для організації циклу. for /L %n IN (1,1,10) DO
@ECHO %n
Виводить числа від 1 до 10.
:LABEL Створює мітку, перехід до якої можна здійснити
командою GOTO
goto <label> Служить для переходу до мітки. Ім'я мітки
повинне вводитися із двокрапкою (:), наприклад,
goto label1
...
:label1
...
11
if Опреатор умовного переходу. Використання:
<condition> if /i <string1> <compare> <string2> <command>
.. Ключ /i забезпечує нечутливість пошуку до
регістра й порівняння проводиться по наступних
параметрах:
EQU (рівність)
NEQ (нерівність)
LSS (менше)
LEQ (менше або дорівнює)
GTR (більше)
GEQ (більше або дорівнює)
if errorlevel (рівень помилки)
if exists (якщо існує/містить) <file name> 12
rem <string> Коментар (відключає рядок).
start <window title> Запускає нове вікно й виконує команду
<command> (виконання поточного файлу не
зупиняється).
@ Забороняє виведення команди наступної
за символом.
ECHO Виводить повідомлення на екран. "ECHO
Hello World" виведе на екран Hello World
при виконанні. Якщо вам потрібна
порожній рядок набирайте "ECHO."
PAUSE Пауза. Пропонує користувачеві нажати
клавішу. 13
Приклад № 1 простого пакетного файлу:
rem echo off Відключає режим відображення команд на екрані.
@echo off
rem echo. Друкує пустий рядок.
echo.
echo Привіт, світ! Натисніть будь-чку клавішудля запуску програми
Program.exe!
pause > nul
rem Запуск програми
Program.exe
rem Обробка можливої помилки
if errorlevel 1 goto error
echo.
echo Програма завершила свою работу!
goto end
:error
echo.
echo Сталась помилка при роботі з програмою.
:end 14
Приклад № 2
title Batch File Testing
echo Hello World
echo.
echo Starting Notepad
start notepad
echo.
echo Starting Wordpad
start Wordpad
echo.
pause
exit
Що означають команди, використані в даному файлі?

15
@echo off
Приховує рядок C:\> і всі команди, використовувані в
пакетному файлі.
echo. Створює пробіл між рядками.
echo message
Відображає повідомлення у вікні, винятково з інформаційними
Цілями.
title Назва вікна.
start Запускає додаток або настановний процес.
pause
Відображає повідомлення "Press any key to continue..."
("Натисніть будь-яку клавішу для продовження...").
exit Закриває командний рядок. 16
Контрольні запитання:
1. Що таке пакетний файл?
2. Яке розширення мають пакетні файли?
3. Яка різниця між bat та cmd файлами?
4. Який алгоритм написання командного
файла?
5. Які команди використовуються для
написання командних файлів?
17
3. Використання пакетних файлів СРС

1. Для чого можна застосовувати


виконувані файли?
2. Які дії можна виконувати за
допомогою виконуваних файлів?

18

You might also like