Команды (поддержки) пакетных файлов



ЛАБОРАТОРНАЯ РАБОТА № 2

«Командный язык ОС Windows XP »

2.1. Цель работы:

Изучение назначения, форматов и особенностей применения команд Windows XP.

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

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

Теоретическая часть

Общие сведения

Командный язык ОС MS Windows XP построен на основе хорошо известного командного языка ОС MS-DOS, он развит и усовершенствован, исходя из современных потребностей пользователей. Несмотря на наличие ГИП, бывают такие ситуации, когда использование командной строки является единственным возможным вариантом решения поставленной задачи, или проблемы, возникшей в системе.

Команды ОС обычно имеют свои имена (названия), различные атрибуты и параметры, а также допустимые форматы использования (синтаксис). Команды вводятся в специальной командной строке в нижней части экрана и исполняются интерпретатором команд Windows XP Cmd.exe.

Следует подчеркнуть, что ОС выполняет любые конструкции своего командного языка, которые считает корректными. Поэтому ответственность за невнимательность или недостаточные знания тонкостей конструкций команд полностью ложится на пользователя.

Команды ОС делятся на две категории:

внутренние – исполняются за счет собственных средств интерпретатора, невидимых пользователю;

внешние – имеют соответствующие файлы в составе ОС, которые и запускает интерпретатор при вводе пользователя.

Из всего множества команд ОС выделяют:

системные команды, действие которых имеет локальный характер в пределах рассматриваемого компьютера или распространяется на вычислительные сети (локальные или территориальные), связанные с данным компьютером;

команды (поддержки) пакетных файлов – последовательностей команд, автоматически выполняемых как единое целое.

Достаточно полная информация по утилитам командной строки Windows XP содержится в стандартной справочной системе, к которой можно обратиться, нажав клавишу F 1 на Рабочем столе, либо через меню: Пуск/ Справка и поддержка.

Для перехода в режим командной строки достаточно открыть меню Пуск/Выполнить и ввести cmd , затем нажать кнопку ОК. Интерпретатор Cmd.exe можно вызвать и по следующему пути: Пуск/Программы/Стандартные/Командная строка.

Командная оболочка – это отдельный программный продукт, который обеспечивает прямую связь между пользователем и ОС. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке программы выполняются, и результат выполнения отображается на экране так же, как это делал интерпретатор command.com MS-DOS. Командная оболочка Windows ХР использует интерпретатор команд Cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе вид.

Имеется возможность использовать командную оболочку для создания и редактирования пакетных файлов (также называемых сценариями), что позволяет автоматизировать выполнение обычных задач. Например, можно использовать сценарии для автоматизации управления учетными записями пользователей и ежедневной архивацией в нерабочие часы. Также можно использовать сервер сценариев Windows XP (CScriptexe) для выполнения в командной оболочке сложных сценариев. Выполнение операций с помощью пакетных файлов является более эффективным, чем с помощью интерфейса пользователя. Пакетные файлы принимают все команды, доступные из командной строки.

 

Имеется возможность настроить окно командной строки (рис. 7) для облегчения просмотра и контроля хода выполнения программ.

Рис. 7

Работу в командной строке рекомендуется начать с команды help , для ознакомления с полным списком команд, используемых в Windows XP, и их кратким описанием. Для вывода подробной справочной информации по конкретной команде необходимо ввести: имя_команды /? На экране появится описание команды, и варианты ее запуска с ключами, если такие существуют.

Рассмотрим подробно системные команды. Среди системных команд можно выделить группы: команды для работы с файлами и папками; команды обслуживания жесткого диска; внутренние команды.

2.2.2. Команды для работы с файлами и папками

1. attrib – отображение и изменение атрибутов файлов. Позволяет просматривать, устанавливать или снимать атрибуты файла или каталога (Только чтение, Архивный, Скрытый). Выполненная без параметров команда attrib выводит атрибуты всех файлов в текущем каталоге.

1. attribотображение и изменение атрибутов файлов. Позволяет просматривать, устанавливать или снимать атрибуты файла или каталога (Только чтение, Архивный, Системный, Скрытый). Выполненная без параметров команда attrib выводит атрибуты всех файлов в текущем каталоге.

Синтаксис:

attrib [+ r | -г] [+ a | - a ] [+ s | - s ] [+ h | - h ] [[диск:][путь] имя_файла][/ s[/ d]]

Параметры:

+ r – установка атрибута«Только чтение»;

- r – снятие атрибута «Только чтение»;

+ a – установка атрибута «Архивный»;

- а – снятие атрибута «Архивный»;

+ s – установка атрибута «Системный»;

-в – снятие атрибута «Системный»;

+ h – установка атрибута «Скрытый»;

- h – снятие атрибута «Скрытый»;

[диск:][путь]имя_файла – задание местонахождения и имени каталога, файла или набора файлов, атрибуты которых требуется просмотреть или изменить. Для обработки группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла;

/ sвыполнение команды attrib и всех параметров командной строки для соответствующих файлов в текущем каталоге и всех его подкаталогах;

/ d – выполнение команды attrib и всех параметров командной строки для каталогов;

/? – отображение справки в командной строке.

 

2. cd ( chdir ) – вывод имени текущего каталога или переход в другую папку. При использовании только с именем диска (например chdir С:) команда chdir выводит имена текущих диска и папки. Выполненная без параметров команда chdir выводит текущие диск и каталог.

Синтаксис:

chdir [[/d][диск:][путь]] [[/d][диск:][путь][..]]

cd [[/d[диск:][путь]] [[/d][диск:][путъ][..]]

Параметры:

/ d – смена текущего диска или текущего каталога на диске;

[диск:][путь]задание имени диска (если он отличается от текущего) и каталога, в который требуется перейти;

[..] – переход в родительскую папку;

/? – отображение справки в командной строке.

Примечания:

• если необходимо сразу перейти в корневой каталог необходимо ввести команду cd \;

• для работы с папками, содержащими в названии пробел, необходимо запретить расширения командного процессора для определенного процесса, использовав следующую команду: cmd e : off . Если расширения командного процессора запрещены, в команде chdir нельзя использовать пробелы в качестве разделителей. Таким образом, можно перейти в подкаталог, имя которого содержит пробел, не заключая параметр [путь]в кавычки.

 

3. comp – побайтное сравнение двух или нескольких файлов. Команда с omp позволяет сравнивать файлы, находящиеся на разных дисках и в разных каталогах. При сравнении файлов с помощью команды comp выводятся их имена и расположение. Выполненная без параметров команда со mp запрашивает файлы для сравнения.

Синтаксис:

со mp [файл1] [файл2] [/d][/а] [/l] [/п=число_строк][/с]

Параметры:

файл1 – задание имени и расположения первого файла или набора файлов для сравнения. Для указания нескольких файлов можно использовать подстановочные знаки (* и ?);

файл2 – задание имени и расположения второго файла или набора файлов для сравнения. Для задания нескольких файлов можно использовать подстановочные знаки (* и ?);

/ d – вывод различий в десятичном формате. (По умолчанию используется шестнадцатеричный формат);

– вывод различий в символьном виде;

/ l – вывод номера строки, в которой обнаружено различие, вместо отображения смещения в байтах; / n=число_строк – сравнение первых нескольких строк, заданных параметром число_строк, обоих файлов, даже если эти файлы имеют разный размер;

– сравнение без учета регистра;

/? – отображение справки в командной строке.

Примечания.

1. Сравнение файлов с одинаковыми именами. Если сравниваются файлы с одинаковыми именами, они должны находятся в разных каталогах или на разных дисках. Если в параметре файл1 не указано имя файла, предполагается, что имя файл2 совпадает с именем файл1. Для задания имен файлов можно использовать подстановочные знаки (* и ?).

2. Неполное задание параметров файл1 и файл2. Если имена файлов файл1 или файл2 введены не полностью или параметр файл1 пропущен, программа comp выведет на экран запрос для получения недостающих сведений. Если параметр файл1 содержит только имя диска или каталога без имени файла, команда comp сравнивает все файлы в заданном каталоге с файлом файл2. Если параметр файл2 содержит только имя диска или каталога, будет предполагаться, что имя файла файл2 такое же, как в параметре файл1.

3. Сравнение файлов разного размера. Чтобы сравнить файлы разных размеров, необходимо указать параметр / n. Если файлы имеют различные размеры, comp выводит следующее сообщение:

Разные размеры файлов

Сравнить другие файлы [У(да)/ N (нет)]?

Нажмите клавишу Y для сравнения следующей пары файлов. Нажмите клавишу N для завершения выполнения команды comp.

При нажатии клавиши Y команда comp продолжает сравнение с заданными параметрами, пока не будет нажата клавиша N или заново введена эта команда.

При работе с файлами разного размера воспользуйтесь параметром / n, чтобы сравнить только начала файлов.

4. Если файлы не найдены. Если командой comp не найдены указанные файлы, выводится запрос на продолжение сравнения.

 

4. сору – копирование одного или нескольких файлов из одного расположения в другое.

Синтаксис:

copy [/d] [/у] [/n] [/у | /-у] [/z] [/а | /b] источник [/a| /b] [+источник [/a| /b] [+...]] [назначение [/a| /b]]

Параметры:

/ d – сохранение копируемых шифрованных файлов как расшифрованных в месте назначения;

/ v – проверка правильности копирования путем сравнения копий файлов;

/ n – использование короткого имени (при наличии) копируемого файла, если его имя превышает 8 символов или его расширение превышает 3 символа;

/ y – отмена вывода запроса на подтверждение перезаписи существующего конечного файла;

/-у – вывод запроса на подтверждение перезаписи существующего конечного файла;

/ zкопирование файлов по сети в режиме перезапуска;

– указание текстового файла в формате ASCII;

/ b – указание двоичного файла;

источник – обязательный параметр. Задание расположение файла или набора файлов, которые требуется скопировать. Параметр источник может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации;

назначение – обязательный параметр. Задание расположения, в которое требуется скопировать файл или набор файлов. Параметр назначение может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации;

/? – отображение справки в командной строке.

 

5. del ( erase ) – удаление заданных файлов.

Синтаксис:

del [диск:][путъ] имяфайла [...][/ р] [/f] [/s][/q] [/a [: атрибуты]]

erase [диск:][путь] имяфайла [...] [/ р] [/f] [/s][/q] [/a[: атрибуты]]

Параметры:

[диск:][путь] имя_файла – задание расположения и имени файла для удаления.

Параметр имя_файла является обязательным. Допускается использование нескольких имен файлов. Имена файлов следует разделять пробелом, запятой или точкой с запятой;

– задание удаления с подтверждением для каждого файла;

/ f – задание удаления файлов с атрибутом «Только чтение»;

/ s – удаление заданных файлов в каталоге и всех его подкаталогах. Выводит имена удаляемых файлов;

/ q – задание автоматического режима. Не выводится подтверждение на удаление;

– удаление файлов с заданными атрибутами;

атрибуты – задание следующих атрибутов файла: r – Только чтение, а – Архивный, s – Системный, h – Скрытый;

/? – отображение справки в командной строке.

Примечания.

1. Использование . Если задан параметр , команда del выводит на экран имя каждого удаляемого файла и следующее сообщение:

имя файла, Удалить [Y ( da )/ N ( Hem )]?

Для подтверждения удаления следует нажать клавишу Y, для отмены удаления и перехода к следующему файлу следует нажать N (если задана группа файлов) или CRTL+C для остановки работы команды del.

2. Удаление нескольких файлов. Все файлы в каталоге могут быть удалены с помощью команды del с параметрами [диск:]путь. Например, следующая команда позволяет удалить все файлы в папке \Work:

del \ Work

Кроме того, для удаления нескольких файлов можно воспользоваться подстановочными знаками (* и ?). При использовании символов подстановки в команде del следует быть особенно внимательным во избежание нежелательных удалений. Например, можно ввести следующую команду:

del *.*

Команда del выводит следующий запрос:

Все файлы в каталоге будут удалены. Продолжать [У(да)/ N (нет)]?

Для удаления всех файлов в текущей папке следует нажать Y и ENTER, для отмены удаления – N и ENTER.

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

 

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

Синтаксис:

dir [диск:][путь][имя_файла][...] [] [/ q] [/ w] [/ d] [/ a[[:]атрибуты]][/ o[[:]порядок_сортировки]][/ t[[:]поле_сортировки]][/ s] [/ b] [/ l] [/ n] [] [] [/4]

Параметры:

[диск:][путь]задание диска и каталога, список файлов которого выводится;

[имя_файла]задание файла или группы файлов, сведения о которых требуется вывести;

– постраничный вывод сведений, т.е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу;

/ q – вывод сведений о владельце файла;

/ w – вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке;

/ d – соответствует / w, но с сортировкой по столбцам;

[[:] атрибуты]выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из табл.3 могут комбинироваться без пробела между ними.

Таблица 3

Значение Описание
h Скрытые файлы
s Системные файлы
d Каталоги
а Файлы, готовые к архивированию
r Файлы, доступные только для чтения
- h Файлы, не являющиеся скрытыми
-s Файлы, не являющиеся системными
-d Только файлы (не каталоги)
Файлы, не изменявшиеся после последнего архивирования
- r Файлы, не имеющие атрибута «Только чтение»

[[:]порядок_сортировки]управление порядком сортировки и вывода имен файлов и каталогов командой dir . Если параметр , не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр использован без параметра порядок сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем – имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок­_сортировки (табл.4). Допускается использование любого их сочетания без пробелов между ними.

Таблица 4

Значение Описание
n Сортировка по именам в алфавитном порядке
е Сортировка по расширениям в алфавитном порядке
d Сортировка по дате и времени от ранних к поздним
s Сортировка по размеру от меньших к большим
g Сортировка с группированием каталогов перед файлами
- n Сортировка по именам в обратном алфавитном порядке (от Z к А)
Сортировка по расширению в обратном алфавитном порядке (от ZZZ к AAA)
-d Сортировка по дате и времени от поздних к ранним
-s Сортировка по размеру от больших к меньшим
-g Сортировка с группировкой каталогов после файлов

/ t [[:]поле_времени]задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени (табл.5).

Таблица 5

Значение Описание
с Создание
а Последнее обращение
w Последняя запись

/ s – перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах;

/ b- перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра / b заголовочные сведения или сводка не выводятся. Параметр / b отменяет параметр / w;

/ l – вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр / lне позволяет преобразовывать дополнительные символы в строчные;

/ n – вывод списка в расширенном формате с именами файлов в правой части экрана;

/ x – вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра / n, но сокращенные имена выводятся после полных;

– вывод разделителя десятичных разрядов в размере файлов;

/4 – отображение года в четырехзначном формате;

/? – отображение справки в командной строке.

 

7. md ( mkdir ) – создание каталога или подкаталога.

Синтаксис:

mkdir [диск:]путъ

md [диск:]путь

Параметры:

диск: – диск, на котором будет создана новая папка;

путь – обязательный параметр. Имя и местоположение новой папки. Максимальная длина пути определяется типом файловой системы;

/? – отображение справки в командной строке.

 

8. move – служит для перемещения одного или нескольких файлов из
одного каталога в другой.

Синтаксис:

move [ | /] [источник] [результат]

Параметры:

– запрет на выдачу запроса подтверждения перезаписи существующего файла-результата;

/-у – выдача запроса подтверждения перезаписи существующего файла-результата;

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

результат – путь и имя, куда требуется переместить файлы. Если требуется переместить или переименовать каталог, в качестве результата должен быть указан путь к конечному каталогу и его имя;

/? – отображение справки в командной строке.

 

9. ren ( rename ) – изменяет имя файла или набора файлов.

Синтаксис:

rename [диск:][путь] имя_файла_1 имя_файла_2

ren [диск:][путь] имя_файла_1 имя_файла_2

Параметры:

[диск:][путь] имя файла 1 – задает местоположение и имя файла или набора файлов для переименования;

имя_файла_2 – задает новое имя файла. Если используются подстановочные знаки (* и ?), то имя_файла_2 указывает новые имена для файлов. При переименовании файлов нельзя задать новый диск или путь;

/? – вывод справки в командной строке.

 

10. rd ( rmdir ) – удаляет каталог.

Синтаксис:

rmdir [диск:]путь [/ s][/ q]

rd [диск:]путь [/ s] [/ q]

Параметры:

[диск:]путь – задает диск и местоположение каталога для удаления;

/ s – удаляет указанный каталог и все подкаталоги вместе с файлами. Параметр / s используется для удаления дерева каталогов;

/ q – запускает rmdir в скрытом режиме. Команда удаляет каталоги без запроса подтверждения;

/? – отображает справку в командной строке.

 

11. tree – представляет графически дерево каталогов заданного пути или диска.

Синтаксис:

tree [диск:][путь][/f] [/a]

Параметры:

диск: – задает дисковод, содержащий диск, графическое представление дерева каталогов которого будет выведено;

путь – задает каталог, для которого будет выведена структура подкаталогов;

/ f – выводит имена файлов в каждом каталоге;

– задает использование командой tree текстовых символов вместо графических для вывода связей между каталогами;

/? – отображает справку в командной строке.

 

Внутренние команды

 

1. cls – очистка окна командной строки. Чтобы очистить окно командной строки от сведений, которые в нем отображаются, и восстановить пустое окно.

Синтаксис:

Cls

 

2. color – изменение цвета текста и фона в окне командной строки для текущего сеанса. Выполненная без параметров команда color восстанавливает стандартные цвета текста и фона в окне командной строки.

Синтаксис:

color [тф]

Параметры:

тф – Изменение цвета текста т и фона ф. В табл.6 перечислены допустимые шестнадцатеричные числа, которые можно задать в качестве значений параметров т и ф.

 

Таблица 6

 

Значение Цвет
0 Черный
1 Синий
2 Зеленый
3 Голубой
4 Красный
5 Сиреневый
6 Желтый
7 Белый
8 Серый
9 Светло-синий
А Светло-зеленый
В Светло-голубой
С Светло-красный
D Светло-сиреневый
Е Светло-желтый
F Яркий белый

 

3. date – отображение текущей настройки системной даты. Выполненная без параметров команда date выводит настройку текущей системной даты и приглашение ввести новую дату.

Синтаксис:

date [мм - дд - гг] [/t]

Параметры:

дд-мм-гг – установка указанной даты, где мм – месяц, дд – день, гг – год.

/ t – вывод текущей даты без приглашения ввести новую дату.

Замечания:

• значения параметров мм, дд и гг должны быть разделены точкой (.), знаком переноса (-) или косой чертой (/);

• параметр мм может принимать значения от 1 до 12;

• параметр дд может принимать значения от 1 до 31;

• параметр гг может принимать значения от 80 до 99 или от 1980 до 2099;

• Windows XP автоматически изменяет текущие месяц и год в зависимости от числа дней в месяце (28, 29,30 или 31 день).

 

4. exit – выход из текущего пакетного сценария или из программы Cmd.exe (командный интерпретатор) и возвращение в программу, запустившую Cmd.exe или в диспетчер программ.

Синтаксис:

exit [/ b] [КодВыхада]

Параметры:

/b – выход из текущего пакетного сценария;

КодВыхода – число.

 

5. shutdown – позволяет выключать или перезапускать локальный или удаленный компьютер. Использование без параметров команды shutdown приведет к выходу из системы текущего пользователя.

Синтаксис:

shutdown [- l | - s | - r | - a] [- f] [- m [\\имя_компъютера]] [- t xx][ "сообщение"] [- d[u][p]:xx:yy]

Параметры:

- l – осуществляет выход текущего пользователя из системы (также используется по умолчанию). -m имякомпьютера имеет приоритет;

- s – выключает локальный компьютер;

- r – выполняет перезагрузку после выключения;

– прерывает выключение. Игнорируются все параметры, кроме - l и имякомпьютера. Параметр можно использовать только в течение интервала таймаута;

- f – принудительно закрывает выполняющиеся приложения;

- m [\\имя_компьютера]указывает компьютер, который требуется выключить.

- t хх – устанавливает таймер завершения работы системы на хх секунд. По умолчанию это время составляет 20 секунд;

"сообщение" – задает сообщение, выводящееся в области «Сообщение» в окне «Завершение работы системы». Можно использовать до 127 знаков. Текст сообщения должен быть заключен в прямые кавычки;

- d [u][р]:xx:yy – отображает перечень кодов причины выключения. В табл.7 перечислены различные значения.

Таблица 7

Значение Описание
U Указывает код пользователя
Р Указывает код планового выключения
Хх Указывает основной код причины (0-255)
Уу Указывает вспомогательный код причины (0-65536)

 

6. time – выводит и задает системное время. При использовании без параметров, команад time отображает системное время и предлагает ввести новое время.

Синтаксис:

time [/t] [/time] [часы :[минуты[: секунды[. сотыё]]][A | P]]

Параметры:

/ t – выводит на экран текущее системное время без предложения ввода нового;

/ time – такой же как параметр/ t;

часы – задает значение часов. Допустимы величины от 0 до 23;

минуты – задает значение минут. Допустимы величины от 0 до 59;

секунды – задает значение секунд. Допустимы величины от 0 до 59;

сотые – задает значение сотых долей секунды. Допустимы величины от 0 до 99;

А | Р – задает время до полудня (A.M.) или после полудня (P.M.) для 12-часового формата времени. Если указано допустимое 12-ти часовое значение, но не задано значение А или Р, команда time использует А (до полудня).

 

Команды (поддержки) пакетных файлов

Пакетный файл – это файл ASCII (неформатированный текстовый файл), содержащий одну или несколько команд ОС. Имена пакетных файлов Windows XP имеют расширения .cmd или .bat. ОС последовательно обрабатывает команды пакетного файла после ввода его имени в командной строке или запуска из другой программы.

Пакетные файлы (программы пакетной обработки, сценарии) позволяют упростить выполнение утомительных и часто используемых операций. Пакетный файл представляет собой неформатированный текстовый файл, содержащий одну или несколько команд и имеющий расширение имени .bat или .cmd. Когда имя такого файла вводится в командной строке, программа Cmd.exe выполняет по порядку команды, записанные в файле.

В пакетный файл можно включить любую команду. Некоторые команды, такие как for , goto и if , позволяют выполнять обработку условий в пакетных файлах. Например, if позволяет запускать команды в зависимости от выполнения заданного условия. Другие команды позволяют управлять вводом и выводом, а также запускать другие пакетные файлы.

Стандартные коды ошибок, возвращаемые большинством приложений: 0, если ошибки отсутствуют; 1 или более высокое значение, если возникла ошибка. Чтобы определить значения отдельных кодов, смотрите справочную документацию приложения.

Известны следующие 10 команд пакетных файлов: call , echo , endlocal , for , goto , if , pause , rem , setlocal , shift .

1. call – вызов одного пакетного файла из другого без завершения выполнения первого файла. Команда call принимает метки в качестве объекта вызова. Используемая в командной строке, а не в сценарии или пакетном файле, команда call игнорируется.

Синтаксис:

call [[диск:] [путь] имя_файла [пакетные_параметры]] [:метка [аргументы]]

Параметры:

[диск:][путь] имя файла – задает имя и местоположение пакетного файла для запуска. Параметр имя_файла должен иметь расширение .bat или .cmd;

пакетные параметры – задает данные командной строки, используемые программой пакетной обработки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %0 до %9) или переменные (например % baud %);

:метка – указывает метку, на которую должно быть передано управление программы пакетной обработки. При использовании команды call с этим параметром создается новый контекст пакетного файла, а управление передается инструкции, следующей за указанной меткой. Когда первый раз встречается конец пакетного файла (после перехода на метку), управление возвращается на инструкцию, следующую за инструкцией call . При втором достижении конца файла выполнение пакетной программы прекращается. Для получения описания расширения goto : eof , которое позволяет возвращать управление из пакетной программы, щелкните ссылку «См. также»;

аргументы – задает данные командной строки, которые передаются в новый экземпляр программы пакетной обработки, начинающейся с :метки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %1 до %9) или переменные (например % baud %);

/?отображение справки в командной строке.

Примечания.

1. Использование пакетных параметров. Пакетные параметры могут содержать любые сведения, которые допускается передавать в программы пакетной обработки, включая параметры командной строки, имена файлов, пакетные параметры (в диапазоне от %0 до %9) или переменные (например % baud %).

2. Использование каналов и символов перенаправления. Каналы и символы перенаправления не допускается использовать с командой call.

3. Рекурсивный вызов пакетных файлов. Создание пакетных файлов, которые вызывают сами себя, допускается, однако в этом случае необходимо задать условия выхода. В противном случае родительская и дочерняя программы будут вызывать друг друга в бесконечном цикле.

4. Работа с расширениями командного процессора. Если расширения командного процессора разрешены (задано по умолчанию), команда call принимает метки в качестве, объекта вызова. Правильный синтаксис: call :аргументы метки.

Пример. Для вызова программы checknew.bat из другого пакетного файла в тексте родительского пакетного файла введите следующую строку:

Call checknew

Если родительская пакетная программа принимает два пакетных параметра и требуется передать их в файл checknew.bat, включите следующую команду в родительскую пакетную программу:

call checknew %1 %2

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

Синтаксис:

echo [{on | off}][сообщение]

Параметры:

{on | off} – включение или отключения режима отображения на экране информации о работе команд;

сообщение – задание текста для вывода на экран;

/? – отображение справки в командной строке.

Примечания:

• команда echo сообщение может оказаться полезной, если отключен режим отображения работы команд. Для вывода сообщения из нескольких строк без вывода дополнительных команд между ними следует использовать несколько последовательных команд echo сообщение после команды echo off в пакетной программе;

• если используется команда echo off , приглашение командной строки не отображается на экране. Чтобы отобразить приглашение, введите команду echo on;

• чтобы отключить вывод строк, введите символ «собаки» @ перед командой в пакетном файле;

• чтобы вывести на экране пустую строку, введите следующую команду: echo ;

• чтобы вывести символы канала (|) или перенаправления (< или >) при использовании команды echo, введите символ (Л) непосредственно перед символом канала или перенаправления (например Л>, *< или Л| ). Чтобы вывести символ (Л), введите два этих символа подряд (ЛЛ).

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

echo off

echo.

echo Эта пакетная программа

echo форматирует и проверяет

echo новые диски

echo.

Если требуется отключить режим отображения команд и при этом не выводить на экран строку самой команды echo , введите символ @ перед командой:

@ echo off

Оператор if и команду echo можно использовать в одной командной строке, например:

if exist *.rpt echo Отчет получен .

 

3. endlocal – окончание использования локального окружения в пакетной программе, восстановление значений переменных среды, имевшихся до выполнения соответствующей команды setlocal .

Синтаксис:

Endlocal

Примечания .

• команду endlocal необходимо указать в сценарии и пакетном файле. Команда endlocal не выполняется при использовании вне сценария или пакетного файла;

• в конце пакетного файла присутствует неявная команда endlocal;

• если расширения командного процессора разрешены (установлено по умолчанию), команда endlocal восстанавливает состояния (т. е. разрешение или запрещение) расширений команд, существовавшие до выполнения соответствующей команды setlocal.

Пример. В пакетном файле можно локально изменить переменные среды:

@echo off

rem Эта программа запускает приложение superapp в сети,

rem записывает вывод в файл и загружает этот файл в программу

rem Блокнот.

setlocal

path=g:\programs\superapp;%path%

call superapp>c:\superapp.out

endlocal

start notepad c:\superapp.out

exit

 

4. for _ запуск некоторой команды для каждого файла из заданного множества.

Синтаксис:

for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]

Параметры:

{%переменная/%%переменная}обязательный параметр. Замещаемый параметр. Используйте %переменная для выполнения команды for из командной строки. Используйте %%переменная для выполнения команды for в пакетном файле. Переменные учитывают регистр и могут быть представлены со значением альфа, например, %А, %В или %С;

(множество)обязательный параметр. Задает один или несколько файлов, каталогов, диапазон значений или текстовых строк, подлежащих обработке заданной командой. Скобки являются обязательными;

команда – обязательный параметр. Задает команду, которая будет выполнена для каждого файла, каталога диапазона значений или текстовой строки, включенной в указанный параметр (множество);

ПараметрыКоманднойСтроки – задает параметры командной строки, которые используются с указанной командой;

/? – отображение справки в командной строке.

Примечания.

1. Использование программы for. Команда for может быть использована в пакетном файле или непосредственно из командной строки.

2. Использование параметров командной строки пакетного файла. Перечисленные ниже атрибуты применяются к команде for:

 

• в команде for переменная %%переменная (или %%переменная) будет заменяться текстовой строкой из заданного параметра множество, пока параметр команда не обработает все файлы этого множества;

• имена параметров переменная команды for учитывают регистр буквы, они являются глобальными и одновременно может быть активно не больше 52 переменных;

• для обозначения параметра переменная можно использовать любые символы, кроме цифр 0-9, чтобы не было конфликта с параметрами пакетных файлов %0-%9. Для простых пакетных файлов вполне достаточно обозначений с одним символом, например %%f;

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

3. Задание множества файлов. Параметр множество может представлять группу файлов или несколько групп файлов. Для задания групп файлов можно использовать подстановочные знаки (* и ?). Следующие множества файлов являются допустимыми:

(*.doc)

(*.doc *.txt *.me)

(jan*.doc jan*.rpt feb*.doc feb*.rpt)

(ar??1991.* ap??1991.*)

Когда используется команда for, первое значение в параметре множество заменяет параметр %%переменная (или %переменная), а затем для обработки этого значения выполняется указанная команда. Это продолжается до тех пор, пока не будут обработаны все файлы (или группы файлов), которые соответствуют значению параметра множество.

4. Использование ключевых слов in и do. In и do не являются параметрами, но они требуются для работы команды for. Если какое-то из слов пропущено, на экран будет выведено сообщение об ошибке.

 

5. goto – в пакетной программе передает управление Windows XP в строку, определенную меткой. Когда метка найдена, выполнение продолжается со следующей за ней строки.

Синтаксис:

goto метка

Параметры:

метка – строка в пакетной программе, к которой выполняется переход;

/? – отображение справки в командной строке.

Примечания.

1. Работа с расширениями команды. Если расширения команды включены (по умолчанию они включены) и в команде goto используется метка : EOF, управление будет передано в конец файла текущего пакетного сценария для выхода из него без назначения метки. Когда используется команда goto с меткой : EOF , перед меткой должно быть вставлено двоеточие. Пример: goto :EOF.

2. Использование допустимых значений метки. Метка может включать пробелы, но не может включать другие разделители, такие как точка с запятой или знак равенства. В команде goto используются только первые восемь знаков метки. Например, следующие метки эквивалентны и рассматриваются как : hithereO :

: hithere 0

: hithere 01

: hithere 02

3. Совпадение меток в пакетных программах. Метка, заданная в команде, должна соответствовать метке в тексте пакетной программы. Метка в пакетной программе должна начинаться с двоеточия (:). В Windows XP строка пакетной программы, начинающаяся с двоеточия (:), опознается как метка и не обрабатывается как команда. Если строка начинается с двоеточия, все присутствующие в ней команды обработаны не будут. Если в пакетном файле не содержится заданной метки, программа будет остановлена, а на экран будет выведено следующее сообщение:

Метка не найдена.

4. Использование команды goto для обработки условий. Команду goto можно использовать совместно с другими командами для выполнения операций с условиями.

Пример. Следующая пакетная программа форматирует диск в дисководе А как системный диск. Если форматирование прошло успешно, команда goto передает управление Windows XP на метку : end .

echo off

format a: /s

if not errorlevel 1 goto end

echo Ошибка при форматировании.

rend

?echo конец пакетной программы.

 

6. if – обработка условий в пакетных программах.

Синтаксис:

if [not] errorievel число команда [else выражение]

if [not] строка I ==строка2 команда [else выражение]

if [not] exist имя_файла команда [else выражение]

 

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

if [/ i] строка1 оп_сравнения строка2 команда [else выражение]

if cmdextversion число команда [else выражение]

if defined переменная команда [else выражение]

Параметры:

not – задает выполнение команды только в случае невыполнения условия;

errorievel число – условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа;

команда – команда, которая должна быть обработана в случае выполнения условия;

строка 1==строка2 – условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки;

exist имя_файла – условие выполняется, если существует файл с именем имя_файла;

оп_сравнения – трехзначный оператор сравнения. В табл.8 перечислены допустимые значения оп_сравнения.

Таблица 8

Оператор Описание
EQU равно
NEQ не равно
LSS меньше
LEQ меньше или равно
GTR больше
GEQ больше или равно

/ i – сравнение строк без учета регистра знаков. Параметр / i можно использовать в конструкции stringl == string 2 команды if. Эти сравнения являются общими. Если и строка1, и строка2 состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел;

cmdextversion число – условие выполняется, только если номер внутренней версии, связанный с расширениями командного процессора Cmd.exe, равен или больше числа. Первая версия имела номер 1. Номер версии увеличивается на 1 при внесении в расширения командного процессора значительных изменений. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены (по умолчанию они разрешены);

defined переменная – условие выполняется, если переменная определена. выражение – команда и все ее параметры для обработке в командной строке при выполнении оператора else ;

/? – отображение справки в командной строке.

 

7. pause – приостанавливает выполнение пакетной программы с выводом сообщения об ожидании нажатия пользователем любой клавиши.

Синтаксис:

Pause

Примечания.

1. При запуске команды pause выводится следующее сообщение:


Дата добавления: 2021-01-21; просмотров: 106; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!