Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Copier.bat C:\Programs D:\Backup




на экран выводится сообщение «Файл copier.bat копирует каталог C:\Programs в D:\Backup» и происходит соответствующее копирование.

При необходимости можно использовать более девяти параметров командной строки с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий. Значение %1 – в %0, %2 в %1 и т.д., 10 параметр в %9. Команда, обратная SHIFT, отсутствует, поэтому восстановить параметры уже не удастся.

Кроме того, в командных файлах можно использовать переменные окружения и объявлять собственные с помощью команды SET. Все переменные рассматриваются как строки и в Windows 9x над ними нельзя производить арифметические действия (в отличие от NT), а только конкатенацию (просто слитно 2 переменные без знака «+»). Например, в результате выполнения командного файла:

SET A=Первый

SET B=Второй

SET C=%A%%B%

ECHO Переменная С=%С%

на экран выведется «Переменная С=ПервыйВторой».

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

Для того, чтобы прервать выполнение командного файла, надо нажать <CTRL> +<C> или <CTRL>+<Break> (в Windows NT есть команда выхода EXIT /B). Для приостановки с выдачей запроса на нажатие любой клавиши есть команда PAUSE, которую рекомендуется использовать перед выполнением потенциально опасных действий. Например:

ECHO Сейчас будут удалены все файлы в каталоге C:\Мои документы

ECHO Для отмены нажмите Ctrl-C

PAUSE

DEL “C:\Мои документы\*.*”

Для организации циклов используется конструкция:

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

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

ECHO OFF

FOR %%i IN (Раз, Два, Три) DO ECHO %%i

напечатает следующее:

Раз

Два

Три

В качестве переменных цикла можно использовать лишь имена, состоящие из одной буквы. Как видите нет командных скобок (типа begin end), поэтому весь цикл должен быть записан в одной строке, вложенные циклы не допускаются.

В параметре множество можно представить одну или несколько групп файлов. Например, для вывода всех файлов с расширениями *.doc и *.txt:

FOR %%f IN(C:\TEXT\*.doc C:\TEXT\*.prn) DO ECHO %%f >> list.txt

Из одного командного файла можно вызвать другой просто указав его имя. Однако в этом случае управление назад не вернется, для этого существует команда CALL, с помощью которой можно в командных файлах организовать подобие подпрограмм. Например, командный файл proc.bat:

ECHO OFF

ECHO Записываем файл %1.txt

ECHO Параметр вызова: %1 > %1.txt

можно вызвать в другом пакетной файле:

FOR %%i IN (Первый, Второй, Третий) DO CALL proc.bat %%i

в результате proc.bat вызывается 3 раза и создает 3 файла – Первый. txt, Второй. txt и Третий.txt с соответствущим текстом.

Командный файл может содержать метки, начинающиеся с двоеточия («:») и команды GOTO перехода к этим меткам. Имя метки задается набором символов, следующих за двоеточием до первого пробела или конца строки. Например:

ECHO OFF

GOTO Label1

ECHO Эта строка никогда не выполнится

Label1

REM Продолжение выполнения

DIR

C помощью команды IF в пакетных файлах можно выполнять обработку условий 3 типов:

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

Условие считается истинным (обратите внимание на 2 знака равно) при точном совпадении обеих строк (регистр имеет значение). Строки могут быть литеральными (кавычки для них не требуются) или представлять значения переменных. Например:

IF %1%==Петя ECHO Привет, Петя!

Для предотвращения синтаксических ошибок в случае отсутствия переменных или параметров, рекомендуется при сравнении строк приписывать им вначале какой-нибудь символ, например:

IF -%MyVar%==-C:\ ECHO OK!

2) IF [NOT] EXIST файл команда

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





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


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 434 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Не будет большим злом, если студент впадет в заблуждение; если же ошибаются великие умы, мир дорого оплачивает их ошибки. © Никола Тесла
==> читать все изречения...

2602 - | 2280 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.