Реферат на тему:
Пакетні файли (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.