Использование параметров командной строки
Пример 2. Пусть мы находимся в каталоге C: TEXT и запускаем пакетный файл с параметром Рассказ. doc (%1=Рассказ.doc). Размер файла 2150 байт, дата создания 12.12.2009, время -12:55. Тогда применение операторов, описанных в табл. 1, к параметру %1 даст следующие результаты: Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который… Читать ещё >
Использование параметров командной строки (реферат, курсовая, диплом, контрольная)
При запуске пакетных файлов в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же командный файл для выполнения команд с различными параметрами.
Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо %0 подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то «лишние» переменные из %1 — %9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier. bat следующего содержания:
@ECHO OFF.
CLS.
ECHO Файл %0 копирует каталог %1 в %2.
XCOPY %1%2 /S.
Если запустить его из командной строки с двумя параметрами, например
copier.bat C: Programs D: Backup.
то на экран выведется сообщение.
Файл copier. bat копирует каталог C: Programs в D: Backup.
и произойдет копирование каталога C: Programs со всеми его подкаталогами в D: Backup.
При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 — в %1 и т. д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новое значение %9 — пустая строка.
Пример 1. Пусть командный файл my. bat вызван из командной строки следующим образом:
my.bat p1 p2 p3.
Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 — %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 — %9 — пустые строки.
При включении расширенной обработки команд SHIFT поддерживает ключ /n, задающий начало сдвига параметров с номера n, где n может быть числом от 0 до 9.
Например, в следующей команде SHIFT /2.
параметр %2 заменяется на %3, %3 на %4 и т. д., а параметры %0 и %1 остаются без изменений.
Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз.
В командных файлах имеются некоторые возможности синтаксического анализа заменяемых параметров. Для параметра с номером n (%n) допустимы синтаксические конструкции (операторы), представленные в табл. 1.
Таблица 1. Операторы для заменяемых параметров.
Операторы. | Описание. |
%~Fn. | Переменная %n расширяется до полного имени файла. |
%~Dn. | Из переменной %n выделяется только имя диска. |
%~Pn. | Из переменной %n выделяется только путь к файлу. |
%~Nn. | Из переменной %n выделяется только имя файла. |
%~Xn. | Из переменной %n выделяется расширение имени файла. |
%~Tn. | Возвращается дата и время создания (модификации) файла. |
%~Zn. | Возвращается размер файла в байтах. |
%~$PATH:n. | Проводится поиск по каталогам, заданным в переменной среды PATH, и переменная %n заменяется на полное имя первого найденного файла. Если переменная PATH не определена или в результате поиска не найден ни один файл, эта конструкция заменяется на пустую строку. Естественно, здесь переменную PATH можно заменить на любое другое допустимое значение. |
Данные синтаксические конструкции можно объединять друг с другом, например:
%~DPn — из переменной %n выделяется имя диска и путь,.
%~NXn — из переменной %n выделяется имя файла и расширение.
Пример 2. Пусть мы находимся в каталоге C: TEXT и запускаем пакетный файл с параметром Рассказ. doc (%1=Рассказ.doc). Размер файла 2150 байт, дата создания 12.12.2009, время -12:55. Тогда применение операторов, описанных в табл. 1, к параметру %1 даст следующие результаты:
%~F1=C:TEXTРассказ.doc.
%~D1=C:
%~P1=TEXT.
%~N1=Рассказ.
%~X1=.doc.
%~DP1=C:TEXT.
%~NX1=Рассказ.doc.
%~T1=12.12.2009 12:55.
%~Z1=2150.