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

Реферат на тему:

Пакетні файли (batch-файли)


Пакетний файл або пакетна програма  це текстовий файл, який містить одну або декілька команд MS-DOS (в тому числі і програм) та має розширення BAT. Якщо ви набираєте ім'я batch-програми в командному рядку та натискаєте клавішу Enter, то записані у batch-файлі команди виконуються послідовно.

Один із batch-файлів грає особливу роль в системі MS-DOS. Цей файл зветься AUTOEXEC.BAT і він виконується автоматично під час завантаження системи. Зауважимо, що AUTOEXEC.BAT повинен знаходитися в кореневій директорії системного диска (разом з файлами IO.SYS, MSDOS.SYS, COMMAND.COM). Нижче наводиться приклад файла AUTOEXEC.BAT. Зауважимо, що більшість сучасних програмних засобів модифікує ваш файл AUTOEXEC.BAT, додаючи до нього необхідні команди. При цьому старий AUTOEXEC.BAT зберігається під іменем AUTOEXEC.OLD або якимось іншим.

У batch-файлі ви можете використовувати будь-які команди MS-DOS та будь-які виконувані програми. Крім того, наступні команди MS-DOS спеціально призначені для використання їх у batch-файлі.

Спеціальні команди batch-файлів

CALL

Викликає інший (вкладений) пакетний файл з наступним поверненням у перший.

CALL [drive:][path]filename [batch-parameters]

[drive:][path]filename	Визначає batch-файл, що викликається.

batch-parameters	Визначає будь-які параметри, з якими виконується batch-файл, що викликається.

CHOICE

Очікує, коли користувач натисне одну з множини допустимих клавіш.

CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]

/C[:]choices	Визначає допустимі клавіші. За умовчанням  YN (Yes  так, No  ні).

/N	Не виводить допустимі клавіші та знак питання (?) у кінці рядка-підказки.

/S	Не відрізняє регістр натиснутої клавіші (малі чи великі літери).

/T[:]c,nn	Обирає за умовчанням допустиму клавішу c після nn секунд очікування.

text	Визначає рядок-підказку, що виводиться на екран.

Код завершення (ERRORLEVEL) цієї команди є зміщенням натиснутої користувачем клавіші у списку допустимих клавіш.

Команда CHOICE  це зовнішня команда.

ECHO

Виводить текст повідомлення на екран або перемикає режим роботи (ON чи OFF).

ECHO [ON | OFF]

ECHO [message]

ON	Дозволяє виведення на екран командних рядків та повідомлень.

OFF	Забороняє виведення на екран командних рядків та повідомлень.

message	Виводить текст повідомлення (message) на екран.

Виконайте ECHO без параметрів для виведення на екран біжучого стану команди (OFF або ON).

@  діє як ECHO OFF на один рядок batch-файла.

FOR

Виконує визначену команду для кожного файла із множини файлів.

FOR %variable IN (set) DO command [command-parameters]

%variable	Визначає однолітерну змінну, яка послідовно приймає значення імен файлів, що входять до параметру set.

(set)	Визначає множину з одного або декількох імен файлів. Можна використовувати шаблони (маски) DOS.

command	Визначає команду, яка виконується для кожного файла із списку.

command-parameters	Визначає параметри для заданої команди.

Для використання команди FOR у batch-файлі застосовуйте конструкцію %%variable замість %variable.

GOTO

Здійснює перехід на помічений рядок у batch-файлі.

GOTO label

label	Визначає текстовий рядок, що використовується у batch-файлі як мітка. Мітка стоїть в окремому рядку та починається з двокрапки (:).

IF

Здійснює розгалуження за умовою в batch-файлі.

IF [NOT] ERRORLEVEL number command

IF [NOT] string1==string2 command

IF [NOT] EXIST filename command

NOT	Визначає, що команда (command) повинна виконуватися лише у тому разі, якщо умова не має місця (false  хибність).

ERRORLEVEL number	Визначає, що умова виконується (true  істина), якщо остання програма, яка стоіть у batch-файлі перед if, повертає код завершення (ERRORLEVEL) рівний або більший, ніж визначене число (number).

command	Визначає команду, що виконується, якщо умова має місце.

string1==string2	Визначає, що умова виконується (true  істина), якщо вказані символьні рядки співпадають.

EXIST filename	Визначає, що умова виконується (true  істина), якщо визначене ім'я файла існує.

PAUSE

Призупиняє роботу batch-файла та виводить повідомлення "Press any key to continue..." ("Для продовження натисніть будь-яку клавішу...").

REM

Служить для вставки коментаря в batch-файлі або в файлі CONFIG.SYS.

REM [comment]

comment	Визначає текстовий рядок, що служить коментарем. В режимі ECHO ON виводить текст параметра comment на екран.

SHIFT

Зсуває вліво параметри batch-файла, що дозволяє використовувати більше 10 параметрів.

Якщо batch-файл виконується з параметрами, то в самому пакетному файлі вони позначаються як %n, де n  цифра від 0 до 9.

Приклад файла AUTOEXEC.BAT

@ECHO OFF

D:\DOS\SMARTDRV.EXE

PROMPT $P$G

PATH D:\DOS;C:\UTIL;C:\NC4;D:\WINWORD;C:\WINDOWS;D:\FOXPRO2

PATH D:\NU_7;%PATH%

SET TEMP = D:\

SET NC = C:\NC4

SET SYMANTEC = D:\SYMANTEC

SET NU = D:\NU_7

SET FOXPROCFG = D:\FOXPRO2\CONFIG.FP

C:\UTIL\FDF\FDREAD

C:\UTIL\MOUSE

D:\DOS\MODE CON CP PREP=((866) D:\DOS\EGA.CPI)

D:\DOS\MODE CON CP SEL=866

D:\DOS\KEYB ur

D:\NU_7\IMAGE C: D: /NOBACK

D:\NU_7\NCC /FAST

echo.

d:\nu_7\be beep /F280 /D1

d:\nu_7\be ask "(W)indows, (N)orton_commander, (D)os " wnd DEFAULT=w TIMEOUT=5 BRI YEL

if errorlevel 3 goto Dos

if errorlevel 2 goto Nor

if errorlevel 1 goto Win

:Win

C:\WINDOWS\WIN /s :

:Nor

C:\NC4\NC

:Dos

Файл конфігурації (CONFIG.SYS)

Файл конфігурації CONFIG.SYS  це текстовий файл, який містить спеціальні команди. Ці команди конфігурують фізичні пристрої комп'ютера так, що MS-DOS та прикладні програми можуть використовувати їх відповідним чином. Під час завантаження MS-DOS команди, які містяться в файлі CONFIG.SYS, виконуються автоматично. Файл CONFIG.SYS, як і файл AUTOEXEC.BAT, повинен знаходитися в кореневій директорії системного диска. Нижче наводиться приклад файла CONFIG.SYS. Зауважимо, що більшість сучасних програмних засобів модифікує ваш файл CONFIG.SYS, додаючи до нього необхідні команди. При цьому старий CONFIG.SYS зберігається під іменем CONFIG.OLD або якимось іншим.

Команди CONFIG.SYS

Наступні команди можуть використовуватися лише у файлі CONFIG.SYS.

BUFFERS

Виділяє пам'ять для визначеного числа буферів диска при старті системи.

BUFFERS=n[,m]

n	Визначає число буферів диска. Величина n повинна лежати в межах від 1 до 99.

m	Визначає число буферів у вторинному буферному кеші. Величина m повинна лежати в межах від 0 до 8.

За умовчанням буфери диска встановлюються самостійно, причому їх число залежить від обладнання комп'ютера і змінюється в межах від 2 до 15.

COUNTRY

Дозволяє системі MS-DOS використовувати залежну від країни інформацію при виведенні дати, часу та національної валюти; при визначенні порядку сортування символів; при визначенні того, які символи можуть використовуватися в іменах файлів. Команда COUNTRY конфігурує MS-DOS для розпізнавання множини символів та пунктуації, коли використовується одна з мов, що підтримується системою.

COUNTRY=xxx[,[yyy][,[drive:][path]filename]]

xxx	Визначає код країни.

yyy	Визначає множину символів для країни.

[drive:][path]filename	Визначає місцеположення та ім'я файла, який містить залежну від країни інформацію.

Пов'язані команди: KEYB, MODE, NLSFUNC.



DEVICE

Завантажує визначені вами драйвери пристроїв у пам'ять.

DEVICE=[drive:][path]filename [dd-parameters]

[drive:][path]filename	Визначає місцеположення та ім'я драйвера пристрою, який ви бажаєте завантажити.

[dd-parameters]		Визначає будь-які параметри, необхідні для драйвера пристрою.

DEVICEHIGH

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

DEVICEHIGH [drive:][path]filename [dd-parameters]

[drive:][path]filename	Визначає місцеположення та ім'я драйвера пристрою, який ви бажаєте завантажити у верхню пам'ять.

dd-parameters		Визначає будь-які параметри, необхідні для драйвера пристрою.

DOS

Визначає, чи повинна MS-DOS управляти верхньою пам'яттю та завантажувати частину себе до області вищої пам'яті (HMA  High Memory Area).

DOS=HIGH|LOW[,UMB|,NOUMB]

DOS=[HIGH,|LOW,]UMB|NOUMB

UMB|NOUMB	Визначає, чи повинна MS-DOS управляти блоками верхньої пам'яті (Upper Memory Blocks  UMBs), утвореними, наприклад, програмою EMM386.EXE. Параметр UMB визначає, що MS-DOS повинна управляти блоками UMBs, якщо вони існують. Параметр NOUMB визначає, що MS-DOS не повинна управляти блоками UMBs. Установка за умовчанням  NOUMB.

HIGH|LOW		Визначає, чи повинна MS-DOS спробувати завантажити частину себе до області вищої пам'яті HMA (параметр HIGH), або тримати всю MS-DOS в основній пам'яті (параметр LOW). Установка за умовчанням  LOW.

DRIVPARM

Визначає параметри пристроїв таких, як дисковод, накопичувач на магнітній стрічці тощо, під час старту MS-DOS. Команда DRIVPARM модифікує параметри існуючих фізичних пристроїв. Вона не утворює нових логічних дисків.

DRIVPARM=/D:number [/C] [/F:factor] [/H:heads] [/I] [/N] [/S:sectors] [/T:tracks]

/D:number	Визначає номер фізичного диска. Величина номера повинна лежати між 0 та 255 (наприклад, диск номер 0 = диск A, 1 = диск B, 2 = диск C, і т.д.).

/C			Визначає, що дисковод може упізнати, чи закриті його дверцята.

/F:factor	Визначає тип диска. У наступному списку наводяться допустимі значення параметра factor та дається короткий опис кожного з них. Величина за умовчанням  2.

0	160 K / 180 K або 320 K / 360 K (5.25-дюймовий диск),

1	1.2 M (5.25-дюймовий диск),

2	720 K (3.5-дюймовий диск),

5	Жорсткий диск,

6	Накопичувач на магнітній стрічці,

7	1.44 M (3.5-дюймовий диск),

8	Оптичний диск для читання/запису,

9	2.88 M (3.5-дюймовий диск).

/H:heads	Визначає максимальне число головок. Значення параметра heads повинно лежати між 1 та 99. Величина за умовчанням залежить від значення, яке ви обрали для параметра /F:factor.

/I			Визначає електронну сумісність дисковода для 3.5-дюймових гнучких дисків. Використовуйте цей параметр, якщо ROM-BIOS вашого комп'ютера не підтримує дисководів для 3.5-дюймових гнучких дисків.

/N			Визначає нез'ємний пристрій.

/S:sectors	Визначає число секторів на доріжку, яке підтримується пристроєм. Значення параметра sectors повинно лежати між 1 та 99. Величина за умовчанням залежить від значення, яке ви обрали для параметра /F:factor.

/T:tracks	Визначає число доріжок на сторону, яке підтримується пристроєм. Величина за умовчанням залежить від значення, яке ви обрали для параметра /F:factor.

FCBS

Визначає число блоків управління файлами (File Control Blocks  FCBs), які MS-DOS може мати відкритими одночасно. Блок управління файлом  це структура даних, яка зберігає інформацію про файл.

FCBS=x

x	Визначає число блоків управління файлами, які MS-DOS може мати відкритими одночасно. Значення параметра x повинно лежати між 1 та 255. Величина за умовчанням  4.

FILES

Визначає число файлів, до яких MS-DOS може мати доступ одночасно.

FILES=x

x	Визначає число файлів, до яких MS-DOS може мати доступ одночасно. Величина параметра x повинна лежати між 8 та 255. Величина за умовчанням  8.

INSTALL

Завантажує резидентні програми в пам'ять, коли MS-DOS стартує. Резидентні програми залишаються в пам'яті комп'ютера, доки він працює. Вони можуть використовуватися навіть тоді, коли активні інші програми. Ви можете застосовувати команду INSTALL, щоб завантажити резидентні програми MS-DOS такі, як Fastopen, Keyb, Nlsfunc та Share.

INSTALL=[drive:][path]filename [command-parameters]

[drive:][path]filename	Визначає місцеположення та ім'я резидентної програми, яку ви хочете виконувати.

command-parameters	Визначає параметри програми, яку ви обрали.



LASTDRIVE

Визначає максимальне число дисків, до яких ви можете мати доступ. Визначена вами величина є останнім доступним для MS-DOS диском.

LASTDRIVE=x

x	Визначає назву диска (літеру у проміжку від A до Z).

NUMLOCK

Визначає, чи встановлена клавіша NUM LOCK у режим ON або OFF, коли ваш комп'ютер стартує.

NUMLOCK=[ON|OFF]

	ON|OFF	Якщо встановлено режим ON, клавіша NUM LOCK вмикається при старті MS-DOS. Якщо встановлено режим OFF, клавіша NUM LOCK вимикається.

SHELL

Визначає місцеположення та ім'я командного інтерпретатора, яким буде користуватися MS-DOS. Якщо ви хочете використовувати ваш власний командний інтерпретатор (замість COMMAND.COM), ви можете визначити його ім'я, додаючи команду SHELL у файлі CONFIG.SYS.

SHELL=[[drive:]path]filename [parameters]

[[drive:]path]filename	Визначає місцеположення та ім'я командного інтерпретатора, яким буде користуватися MS-DOS.

parameters			Визначає будь-які параметри, які можуть бути використані обраним вами командним інтерпретатором.

STACKS

Підтримує динамічне використання стеків даних для управління переривань від пристроїв комп'ютера.

STACKS=n,s

n	Визначає число стеків. Допустимі величини для n лежать у межах від 0 до 64 і кратні 8.

s	Визначає розмір (в байтах) кожного стека. Допустимі величини для s лежать у межах від 0 до 512 і кратні 32.

SWITCHES

Визначає спеціальні опції в MS-DOS.

SWITCHES=/W /K /N /F

/W	Визначає, що файл WINA20.386 переміщено до директорії, відмінної від кореневої директорії. Цей параметр використовується лише тоді, коли ви запускаєте систему Windows 3.0 фірми Microsoft і файл WINA20.386 не розміщений у кореневій директорії.

/K	Заставляє покращену клавіатуру поводити себе, як звичайна.

/N	Забороняє використання клавіш F5 або F8, щоб обійти команди файлів AUTOEXEC.BAT та CONFIG.SYS під час старту системи.

/F	Ігнорує 2-секундну затримку після виведення повідомлення "Starting MS-DOS..." під час старту системи.

Наступні команди, як правило, використовуються у файлі CONFIG.SYS, але можуть вводитися також і в командному рядку.

Це команди

		Break	Rem	Set

Їх ми розглядали раніше, коли мова йшла про внутрішні команди та batch-файли.

Наступні спеціальні команди використовуються лише при визначенні множинної конфігурації у файлі CONFIG.SYS. При множинній конфігурації визначається меню, яке з'являється під час старту системи. Кожний елемент такого меню відповідає блоку команд або блоку конфігурації (configuration block) у файлі CONFIG.SYS.

Ви можете подивитися приклади використання команд множинної конфігурації, якщо виконаєте команду HELP та виберете відповідну команду.

INCLUDE

Включає вміст одного блоку конфігурації до іншого.

INCLUDE=blockname

blockname	Визначає ім'я блоку конфігурації, що включається.

MENUCOLOR

Встановлює кольори тексту та фону (заднього плану) для меню множинної конфігурації при старті системи.

MENUCOLOR=x[,y]

x	Визначає колір тексту меню. Ви можете задати величину цього параметра від 0 до 15 (див. пункт "Значення кольорів").

y	Визначає колір фону (заднього плану). Ви можете задати величину цього параметра від 0 до 15 (див. пункт "Значення кольорів"). За умовчанням параметр y приймає значення 0 (чорний).

Значення кольорів

				0	Чорний		  8	Сірий

				1	Синій		  9	Яскраво-синій

				2	Зелений		10	Яскраво-зелений

				3	Ціан		11	Яскраво-ціановий

				4	Червоний		12	Яскраво-червоний

				5	Фіолетовий		13	Яскраво-фіолетовий

				6	Коричньовий	14	Жовтий

				7	Білий		15	Яскраво-білий

MENUDEFAULT

Визначає елемент меню множинної конфігурації за умовчанням та встановлює час затримки, після якої він виконується автоматично (при бажанні). Якщо ця команда не використовується, то за умовчанням виконується перший елемент меню.

MENUDEFAULT=blockname[,timeout]

blockname	Визначає елемент меню за умовчанням, який пов'язаний з відповідним блоком конфігурації. Цей блок повинен бути визначеним у файлі CONFIG.SYS. Коли MS-DOS при старті системи виводить меню, елемент меню за умовчанням виділяється підвищеною яскравістю і його номер з'являється після підказки "Enter a choice" ("Введіть вибір").

timeout	Визначає, скільки секунд буде чекати MS-DOS перед завантаженням системи з конфігурацією за умовчанням. Якщо ви не визначили величину параметра timeout, MS-DOS зупиниться, доки не буде натиснута клавіша ENTER. Ви можете задати величину параметра timeout в межах від 0 до 90 секунд. При значенні 0 відбудеться автоматичний вибір елемента меню за умовчанням без виведення меню на дисплей.

MENUITEM

Визначає елемент меню множинної конфігурації при старті системи. В меню можна задати до дев'яти елементів. Кожний елемент меню відповідає певному блоку конфігурації.

MENUITEM=blockname[,menu_text]

blockname	Визначає ім'я, пов'язане з блоком конфігурації. Блок повинен бути визначеним в файлі CONFIG.SYS. Якщо елемент меню вибраний з початкового меню, MS-DOS виконує команди з відповідного блоку конфігурації. Ім'я блоку може містити до 70 символів, виключаючи проміжки та символи  \  /  ,  ;  =  [  ].

menu_text	Визначає текст, який виводиться за бажанням для цього елемента меню. Цей текст може містити до 70 будь-яких символів.

SUBMENU

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

SUBMENU=blockname[,menu_text]

blockname	Визначає ім'я, пов'язане з блоком конфігурації. Блок повинен бути визначеним в файлі CONFIG.SYS. Ім'я блоку може містити до 70 символів, виключаючи проміжки та символи  \  /  ,  ;  =  [  ].

menu_text	Визначає текст для цього елемента меню, який виводиться за бажанням. Якщо параметр опущено, MS-DOS виводить ім'я блока як ім'я елемента меню. Цей текст може містити до 70 будь-яких символів.

Файл CONFIG.SYS може містити також наступні спеціальні символи.

;	Визначає, що поточний рядок є коментарем і не повинен виконуватися. Вказаний символ треба ставити на початку рядка. Ви також можете вставляти коментар, використовуючи команду REM.

?	Визначає, що MS-DOS запитує підтвердження на виконання поточної команди. Вставте цей символ безпосередньо перед знаком рівності (=). Наприклад, щоб MS-DOS запитала підтвердження перед виконанням команди DOS=HIGH, змініть цю команду на DOS?=HIGH.

Приклад файла CONFIG.SYS

COUNTRY = 07, 866, D:\DOS\COUNTRY.SYS

DEVICE = D:\DOS\SETVER.EXE

DEVICE = D:\DOS\HIMEM.SYS

DOS = HIGH

FILES = 40

BUFFERS = 20

SHELL = D:\DOS\COMMAND.COM D:\DOS\ /P

STACKS = 9,256

DEVICE = D:\DOS\DISPLAY.SYS CON=(EGA,,1)

NUMLOCK = OFF

SWITCHES = /f

rem DEVICE = D:\DOS\RAMDRIVE.SYS 72 /E

rem DEVICE = D:\NORTON\DISKREET.SYS

Обхід команд CONFIG.SYS та AUTOEXEC.BAT

Якщо ви маєте системні проблеми, які на вашу думку пов'язані з деякими командами ваших файлів CONFIG.SYS та AUTOEXEC.BAT, ви можете обійти (не виконувати) якісь (або всі) команди вказаних файлів.

Щоб обійти всі команди ваших файлів CONFIG.SYS та AUTOEXEC.BAT, натисніть клавішу F5 негайно після старту комп'ютера, коли побачите текст "Now starting MS-DOS...".

Щоб обійти окремі команди файла CONFIG.SYS, натисніть клавішу F8. MS-DOS буде запитувати, чи ви хочете виконувати (або обійти) кожну з команд файла CONFIG.SYS. Щоб виконати всі команди, що залишились, натисніть F5. Щоб обійти всі команди, що залишились, натисніть ESC.

Щоб заборонити розглянуту можливість, додайте команду SWITCHES /N у вашому файлі CONFIG.SYS.