Пакетные файлы

Цель работы: научиться пользоваться пакетными файлами.

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

В настоящее время пакетные файлы используются в целях администрирования системы, а также запуска приложений, которые имеют различные варианты запуска, реализованные с помощью ключей к исполнимым файлам.

Для создания командных файлов можно использовать текстовые процессоры, такие как Microsoft Word и Блокнот.

Командные файлы имеют расширение - BAT.

Для начала работы нам потребуется текстовый редактор Блокнот. Его можно запустить воспользовавшись меню Пуск->Программы->Стандартные->Блокнот либо в строке Выполнить меню Пуск нужно набрать notepad. После чего набрать нужные команды и сохранить файл с расширением BAT.

В качестве примера рассмотрим пакетный файл, который выполняет две функции:

Создает в папке C:\Temp папку TXT

Затем если в корневом каталоге имеются файлы с расширением TXT они копируются в созданную нами папку, если же таких файлов нет, то на экран выводится сообщение об этом и папка C:\Temp\TXT удаляется.

Текст этого файла будет следующим (предполагается, что C:\Temp уже существует):

md c:\temp\TXT

if exist c:\*.txt goto yes

echo Files is missing

rd /s c:\temp\TXT

exit

:yes

copy c:\*.txt c:\temp\TXT

Первая строка создает нужную папку, во второй строке проверяется имеются ли необходимые файлы если да, то переходит на метку YES, если же таких файлов нет, то выполняется третья строка, где выдается сообщение об отсутствии этих файлов, после чего в четвертой строке созданная нами папка удаляется. В пятой строке осуществляется выход из программы. В седьмой строке производится копирование необходимых файлов.

Для вызова данного пакетного файла необходимо кликнуть его иконку два раза либо запустить его из командной строки (для вас рекомендуется), указав полный или сокращенный путь к нему и нажав клавишу Enter, чтобы увидеть результаты его работы.

Пакетные файлы могут принимать команды передаваемые в них пользователем.

Например: в той же задаче передадим имя папки и тип файлов в виде параметров, текст в этом случае будет выглядеть следующим образом:

md %1

if exist %2 goto yes

echo Files is missing

rd /s %1

exit

:yes

copy %2 %1

Процент с цифрой означает параметр, при вызове пакетного файла соответствующая цифра заменяется нужным параметром из списка переданных. Параметры перечисляются после имени пакетного файла в порядке их номеров.

Для вызова этого файла необходимо в командной строке набрать:

имя.bat c:\temp\TXT c:\*.txt

Вместо имени нужно подставить путь к вашему пакетному файлу.

Для применения одной команды к нескольким разнотипным файлам можно использовать команду FOR

for %%х in (список файлов) do команда %%c

Вместо х подставляется любой символ от a до z, в списке файлов можно использовать * и?

Пример: скопировать все файлы, начинающиеся на цифру в каталог задаваемый пользователем через параметр

for %%c in (0,1,2,3,4,5,6,7,8,9) do copy %%c* %1

Команды реконфигурирования системы:

SET - Вывод, установка и удаление переменных среды.

SET [ переменная =[ строка ]]

переменная - Имя переменной среды.

строка - Текст, представляющий значение переменной среды.

Ввод SET без параметров позволяет вывести текущие значения переменных среды.

PATH - Вывод либо установка пути поиска исполняемых файлов.

PATH [[ диск:] путь [;...]]

PATH;

Ввод PATH; позволяет очистить путь поиска, ограничив его текущим каталогом.

Ввод PATH без параметров приводит к отображению текущего пути поиска.

Для Windows 2000 или Windows XP: при включении в командную строку переменной %PATH% прежний путь поиска добавляется в конец нового.

PATH [[диск:] путь [;…][;%PATH%]]

APEEND – задание порядка поиска файлов

APEEND [[ диск:] путь [;...]]

BREAK - Включение/выключение режима обработки комбинации клавиш CTRL+C.

BREAK [ ON | OFF ]

Ввод BREAK без параметров позволяет выяснить текущее значение режима BREAK.

VERIFY - Установка режима проверки правильности записи файлов на диск.

VERIFY [ ON | OFF ]

Ввод VERIFY без параметров позволяет выяснить текущее значение режима VERIFY.

DATE - Вывод либо установка текущей даты.

DATE [ дата ]

Ввод DATE без параметров позволяет получить текущее значение даты и выдать запрос на ввод нового значения даты.

Нажатие клавиши ENTER оставляет значение даты без изменения.

TIME - Вывод и установка системного времени.

TIME [ время ]

Ввод TIME без параметров позволяет получить текущее значение времени и выдать запрос на ввод нового значения.

Нажатие клавиши ENTER оставляет значение времени без изменения.

LOADFIX – совместимое с устаревшими версиями системы выполнение программ. Загрузка в первые 64 Кб основной памяти

LOADFIX [. com ] process

process - запуск программы на выполнение

Команды пакетных файлов:

@ - скрытие строки на экране

@ [ строка ]

CALL - Вызов одного пакетного файла из другого.

CALL [ диск:][ путь ] имя_файла [ параметры _вызова]

параметры_вызова - Параметры командной строки, использующиеся при вызове пакетного файла.

MORE – Последовательный вывод данных по частям размером в один экран.

MORE [/E [/C] [/P] [/S] [/Tn] [+n] ] < [ диск:][ путь ] имя_файла

Имя_команды | MORE [/E [/C] [/P] [/S] [/Tn] [+n] ]

MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]

[ диск:][ путь ] имя_файла - файл, отображаемый по фрагментам

Имя_команды – команда, вывод которой отображается на экране

/E – Разрешение использования дополнительных возможностей

/C – Очистка экрана перед выводом каждой страницы

/P – Учет символов перевода страницы

/S – Сжатие нескольких пустых строк в одну

/Tn – Замена символов табуляции n пробелами (по умолчанию n=8)

Стандартный набор ключей можно поместить в переменную MORE

+n – Начало вывода первого файла со строки с номером n

файлы - Список отображаемых файлов. Для разделения имен файлов в списке используйте пробелы

Если использование дополнительных возможностей разрешено, в ответ на приглашение – MORE – можно вводить следующие команды:

P n – Вывод следующих n строк

S n – Пропуск следующих n строк

F – Вывод следующего файла

Q – Завершение работы

= - Вывод номера строки

? – Вывод строки подсказки

<пробел> - Вывод следующей страницы

<ENTER> - Вывод следующей строки

CHOICE - Предложение пользователю нескольких вариантов на выбор.

CHOICE [/ C [:] варианты ] [/ N ] [/ S ] [/ T [:] c,nn ] [ текст ]

/ C [:] варианты - Варианты ответа пользователя. По умолчанию строка включает два варианта: YN

/ N - Ни сами варианты, ни знак вопроса в строке приглашения не отображаются.

/ S - Учитывать регистр символов.

/ T [:] c,nn - Ответ " c " выбирается автоматически после nn секунд ожидания

текст - Строка приглашения

После выполнения команды переменная ERRORLEVEL приобретает значение, равное номеру выбранного варианта ответа.

ECHO - Вывод сообщений и переключение режима отображения команд на экране.

ECHO [ ON | OFF ]

ECHO [ сообщение ]

Ввод ECHO без параметров позволяет выяснить текущий режим отображения команд.

FOR - Запуск указанной команды для каждого из файлов в наборе.

FOR % переменная IN (набор) DO команда [ параметры ]

% переменная - Подставляемый параметр.

(набор) - Набор, включающий один или более файлов. Допускается использование подстановочных знаков.

команда - Команда, выполняемая для каждого из файлов в наборе.

параметры - Параметры и ключи, необходимые для выполнения команды.

При использовании команды FOR в пакетном файле вместо записи % переменная

следует использовать запись %% переменная.

GOTO - Передача управления в отмеченную строку пакетного файла.

GOTO метка

метка - Текстовая строка, играющая в пакетном файле роль метки.

Метка должна находиться в отдельной строке программы и начинаться с двоеточия.

IF - Оператор условного выполнения команд в пакетном файле.

IF [ NOT ] ERRORLEVEL число команда

IF [ NOT ] строка1 == строка2 команда

IF [ NOT ] EXIST имя_файла команда

NOT - система выполняет команду лишь в том случае, если условие ложно.

ERRORLEVEL число - Условие истинно, если последняя запущенная программа завершилась с кодом возврата, равным либо превышающим указанное число.

команда - Команда, которую следует выполнить в случае истинности условия.

строка1 == строка2 - Условие истинно при совпадении обеих строк.

EXIST имя_файла - Условие истинно, если указанный файл существует.

Форматирование диска для работы с системой.

FORMAT диск: [/ V [:метка]] [/ Q ] [/ F:размер] [/ B | / S ] [/ C ]

FORMAT диск: [/ V [:метка]] [/ Q ] [/ T:дорожки / N:секторы] [/ B | / S ] [/ C ]

FORMAT диск: [/ V [:метка]] [/ Q ] [/ 1 ] [/ 4 ] [/ B | / S ] [/ C ]

FORMAT диск: [/ Q ] [/ 1 ] [/ 4 ] [/ 8 ] [/ B | / S ] [/ C ]

/ V [:метка] - Метка создаваемого тома.

/ Q - Выполнение быстрого форматирования.

/ F:размер - Размер форматируемого диска (например 160, 180, 320, 360, 720, 1.2, 1.44, 2.88).

/ B - Отвод на диске места под системные файлы.

/ S - Копирование на отформатированный диск системных файлов.

/ T:дорожки - Число дорожек на каждой стороне диска.

/ N:секторы - Число секторов, приходящееся на одну дорожку.

/ 1 - Форматирование только первой стороны диска.

/ 4 - Форматирование диска 5,25", 360 Кбайт в дисководе для дисков высокой плотности.

/ 8 - Форматирование с созданием 8 секторов на дорожке.

/ C - Проверка кластеров, помеченных как поврежденные

PAUSE -Приостановка выполнения пакетного файла и вывод сообщения: Нажмите любую клавишу….

PAUSE

REM - Помещение комментариев в пакетные файлы и файл CONFIG. SYS.

REM [ текст ]

SHIFT - Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.

SHIFT

ЗАДАНИЯ:

Напишите пакетный файл, который бы обеспечивал выполнение нижеизложенных действий с паузой после каждого действия:

1. Постраничное отображение содержимого заданного текстового файла (передача через параметр) с паузой после заполнения каждого экрана.

2. Копирование списка файлов из текущего каталога в каталог C:\TEMP. Команда копирования на экран выводиться не должна!

3. Добавьте маршрут поиска папки C:\TEMP к уже имеющимся маршрутам и отобразите все установленные маршруты.

4. Отобразить содержимое всех TXT – файлов, находящихся в рабочем каталоге.

5. Удалите все ТХТ – файлы из каталога ТЕМР.

6. Скопируйте все файлы из каталога C:\Programs\NC4 в каталог C:\TEMP.

7. Если в папке ТЕМР есть ТХТ-файлы, то поменять им всем расширение на LST, а если нет ни одного ТХТ- файла, то создать файл 1.txt

8. Копировать файлы из текущего каталога в заданный через параметры (файлы с расширением TXT, DOC)

9. Отформатировать дискету в приводе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: