ВЪВЕДЕНИЕ В MS - DOS
Заглавна / Модул 1 / Модул 2Модул 3 / Модул 4 / Тестове 
ТЕМИ:

1. Увод в MS DOS

2. Файлова система

3. Класификация на командите

4. Опис на командите

5. Файлове за пакетна обработка

6. Програми за сортиране и смесване

№ 5

№ 5. ФАЙЛОВЕ ЗА ПАКЕТНА ОБРАБОТКА

 

 

1. Що е файл за пакетна обработка? Създаване на файлове за пакетна обработка в MS DOS

 

При решаването на по-сложни и обемисти задачи е удобно последователност от команди за операционната система или изпълними потребителски програми да се изпълняват автоматично от компютъра. Такива команди се поместват в специални файлове, наречени файлове за пакетна обработка. Наи-общо казано, файловете за пакетна обработка автоматизират изпълнението на еднообразни операции при съставяне, проверка и обединяване на програмни продукти. В MS DOS всички файлове за пакетна обработка трябва да имат разширение .BAT.

Файловете за пакетна обработка в MS DOS могат да се създават с помощта на средствата за работа с текстове, т. нар. текстови редактори или с командата COPY, непосредствено от клавиатурата. За да се създаде файл за пакетна обработка с помощта на командата COPY, трябва да се извършат следните действия:

1) След подканващия знак на MS DOS се въвежда:

 

A>   COPY CON: < име на файл >.BAT

 

и се натиска <ENTER>.

2) Въвеждат се командите, които са включени във файла за пакетна обработка и ще се изпълняват автоматичмо. След всяка въведена команда се натиска <ENTER>. Ако е допусната грешка при въвеждането, се натискат едновременно клавишите <Ctrl> и <Break>, след което се стартира отново командата COPY. Въведената до този момент информация се губи.

3) След последната въведена команда се натискат последователно клавишите <F6> и <Enter>. По този начин се прекратява работата на командата COPY и се съхранява файлът за пакетна обработка. На екрана се получава следното съобщение:

 

1 File(s) copied

A>

 

Пример: Нека PR1 и PR2 са програми написани на езика Паскал, които трябва да се изпълнят автоматично една след друга. Командите, реализиращи това изпълнение, можем да поместим във файл за пакетна обработка с име PRIMER. Последователността от необходимите действия е следната:

 

1) A COPY CON: PRIMER.BAT

2) PR1

3) PR2

4) <F6>

 

С това върху диска е създаден файл за пакетна обработка с име PRIMER и съществуването му може да се провери с командата DIR.

Файловете за пакетна обработка се изпълняват, като след знака на MS DOS се въведе името на файла и се натисне <Enter>. Например, ако трябва да се стартира файлът за пакетна обработка с име PRIMER.BAT, се въвежда:

 

А> PRIMER

<Enter>

 

Не е необходимо да се въвежда разширението на файла.

За да се спре изпълнението на файл за пакетна обработка, трябва да се натиснат клавишите <Ctrl> и <Break> Работата на изпълняваната в момента команда се прекратява и се извежда съобщението:

 

Terminate batch job (Y/N)?

 

(Да се прекъсне ли изпълнението на файла за пакетна обработка (Да/Не)?).

Ако се въведе Y (Да), изпълнението на командния файл се прекратява и на екрана се появява подканващия знак А>.

При въвеждане на N (Не) изпълнението на файла за пакетна обработка продължава с командата, която се намира след прекъснатата.

Последната команда във файл за пакетна обработка може да бъде име на друг файл за пакетна обработка. Връщането от втория файл към първия може да стане само ако първият файл съдържа командата COMMAND. По този начин могат да се създават вериги от файлове за пакетна обработка.

 

2. Файлове за пакетна обработка с параметри

 

Известно е използването на подпрограми в програмирането. Те се описват с т. нар. формални параметри, които по време на изпълнение на програмата се заместват с реални параметри. По аналогичен начин могат да се създават и използват файлове за пакетна обработка с параметри.

Във файловете за пакетна обработка могат да се включват формални параметри, които по време на изпълнение на файла се заместват с реални параметри. Нека например да създадем следния файл за пакетна обработка с 3 параметъра:

 

A> COPY CON: PRIM1.BAT

COPY %1.TXT%2.TXT

TYPE %2.TXT

TYPE %0.BAT

<F6>

 

%0, %1, %2 са формалните параметри на файла за пакетна обработка PRIM1.BAT, като при изпълнение %0 винаги се замества с името на файла за пакетна обработка. За да се изпълни файлът за пакетна обработка, предават му се реални параметри, т.е. записва се името на файла, следвано от конкретните стойности на параметрите. Например, ако се въведе:

 

A> PRIM1 A:LP1 B:LP2

 

формалните параметри се записват по следния начин:

- %0 приема стойност PRIM1;

- %1 приема стойност LP1;

- %2 приема стойност LP2.

В резултат на заместването на формалните параметри с реални параметри се изпълняват следните команди:

 

- COPY a:LP1.TXT b:LP2.TXT - файлът LP1.TXT се копира от устройство а върху устройство b под името LP2.TXT;

 

- TYPE LP2.TXT - извежда съдържанието на файла LP2.TXT на екрана;

 

- TYPE PRIM1.BAT - извежда съдържанието на файла PRIM1.BAT на екрана.

 

Във файловете за пакетна обработка могат да участват до 10 параметъра - с номера от %0 до %9. Ако във файла за пакетна обработка трябва да се включи име на файл, съдържащо символа %, този символ се въвежда два пъти последователно. Например, ако във файа за пакетна обработка се включва файл с име ABC%.EXE, трябва да се въведе ABC%%.EXE.

 

3. Подкоманди на файлове за пакетна обработка

 

Управлението на командите, включени във файловете за пакетна обработка, се извършва с помощта на 7 подкоманди:

а) Подкоманда ECHO (ехо)

Подкоманда ECHO се записва в следната форма:

 

ECHO [ON | OFF | < съобщение >]

 

При изпълнението на ECHO ON на стандартното изходно устройство се извежда текстът на изпълняваната команда от файла за пакетна обработка. Подкомандата ECHO OFF преустановява извеждането на изпълняваната команда. ECHO <съобщение> извежда на екрана посоченото съобщение, дори ако преди тази команда е изпълнена ECHO OFF. Изпълнението на подкомандата без параметри извежда информация относно текущото състояние - ON или OFF.

б) Подкоманда FOR (цикъл)

Подкомандата FOR се записва в следната форма:

 

FOR %% <променлива> IN <(списък от стойности)> DO <команда>

 

С нейна помощ многократно (циклично) се изпълнява група от команди на файла за пакетна обработка. Променливата присвоява последователно всяка от стойностите и за всяка стойност се изпълнява командата, записана след DO.

 

Пример:

 

FOR %% k IN (PR1.PAS, PR2.ASM, PR3.PAS) DO TYPE %%k

 

е еквивалентна на следните три команди:

 

TYPE PR1.PAS

TYPE PR2.ASM

TYPE PR3.PAS

 

Една подкоманда FOR не може да изпълнява друга подкоманда FOR, т.е. влагането на команди FOR е недопустимо.

в) Подкоманда GOTO (преход)

Подкомандата GOTO се записва в следната форма:

 

GOTO <етикет>

 

С нея се изменя редът на изпълняваните команди в командния файл. При изпълнението на GOTO се прекратява последователното изпълнение на командите и се изпълнява командата, разположена непосредствено след реда, съдържащ дадения етикет. Етикетът е символен низ, предшестван от двоеточие, и винаги се пише на нов ред. Обикновено GOTO се използва за организиране на цикли в съчетание с подкомандата IF.

г) Подкоманда IF (условен оператор)

Подкомандата IF се записва в следната форма:

 

IF [NOT] <условие> <команда>

 

Ако условието е изпълнено, изпълнява се командата, записана след IF. В противен случай се изпълнява следващата команда. Условиет може да бъде някое от следните:

- низ 1==низ 2

Условието е изпълнено, ако двата низа са идентични, т.е. позиционно съответстващите си символи са едни и същи и трябва да са записани или с главни, или с малки букви.

- exist [d:] [път] <име на файл> [<.разширение>].

Условието е изпълнено, ако дадения файл бъде намерен в текущия справочник.

- errorlevel <число>.

Условието е изпълнено, когато преходната програма от командния файл е изработила код на завършване, по-голям или равен на указаното число. Това условие може например да се използва при създаване на файлове за пакетна обработка, предназначени за компилация от повече стъпки, като от изпълнението на преходната зависи и изпълнението на следващата стъпка.

Използването на параметъра NOT предизвиква изпълнението на дадена команда, когато определено условие не е изпълнено.

С помощта на If програмата на файла за пакетна обработка може да се разклонява и да става по-гъвкава.

д) Подкоманда PAUSE (пауза)

Подкомандата PAUSE се записва в следната форма:

 

PAUSE [<съобщение>]

 

С нея се прекъсва временно работата на системата по изпълнение на файла за пакетна обработка, при което на екрана се появява съобщение:

 

Strike a key when ready…

 

(Натисни клавиш при готовност...).

Натискането на кой да е клавиш предизвиква изпълнението на командата, следваща PAUSE. Ако е необходимо на екрана да се появи определено съобщение (обикновено информиращо за причината на прекъсването), то се записва след PAUSE.

е) Подкоманда REM (коментар)

Подкомандата REM се записва в следната форма:

 

REM [<коментар>]

 

С нея се поставят коментари на определени важни места във файла за пакетна обработка. Подкомандата REM без коментар се използва като разделителна линия между групи коментари.

ж) Подкоманда SHIFT (преместване на параметри)

Подкомандата SHIFT се записва в следната форма:

 

SHIFT

 

С нейна помощ могат да се използват по-пълноценно формалните параметри на файловете за пакетна обработка ( от %0 до %9). SHIFT измества всички параметри с една позиция наляво. (%0 се замества с %1, %1 с %2 и т.н.). Тази команда дава възможност да се използват повече от 10 параметъра в един команден ред.

 

4. Файл за пакетна обработка AUTOEXEC.BAT

 

Файлът с име AUTOEXEC.BAT е специален файл за пакетна обработка, който се изпълнява автоматично при всяко начални зареждане на компютъра. Чрез него определени команди по избор на потребителя се изпълняват автоматично при стартиране на системата. Файлът AUTOEXEC.BAT трвбва да фигурира в главния справочник на устройството, от което се стартира MS DOS.


Заглавна / Модул 1 / Модул 2Модул 3 / Модул 4 / Тестове