Составители:
15
начинающихся с символа с). Переменная tmpVar не была определена, поэтому ее
значение при вычислении значения выражения будет принято за 0.
Значение переменной можно задать и как результат работы команды. Так
можно получить серийный номер тома текущего диска:
@echo off
vol | find “:” >out.tmp
set /p var= <out.tmp
set serial=%var:~22,9%
del out.tmp
echo %serial%
Использование параметров командной строки
Вызов командных файлов можно параметризовать. Под этим подразумева-
ется вызов командного файла с передачей ему от одного до нескольких парамет-
ров. В таком случае скрипт, помещенный в командный файл, может обрабатывать
различную информацию при разных параметрах вызова, делая его гибче и адап-
тированнее нуждам оператора. Например, командный файл архивирования фай-
лов в некоторой папке может получать имя обрабатываемой папки из параметров
вызова и тогда его можно применять к различным папкам, а не к одной, имя кото-
рой жестко прописано в коде командного скрипта.
Для доступа к параметрам командной строки в командном файле приме-
няются символы %0, %1,…,%9. При этом вместо %0 всегда подставляется имя
выполняемого пакетного файла, а вместо %1, %2,…, %9 — значения первых де-
вяти параметров командной строки соответственно Если в командной строке при
вызове пакетного файла задано меньше девяти параметров, то "лишние" перемен-
ные из %1 - %9 являются пустыми строками. Модифицируем ранее рассмотрен-
ный пример архивирования и удаления файлов arc.bat.
rem Вызов arc.bat имя_папки маска_файлов имя_архива
@echo off
d:\winrar\rar a %1\%3 %1\%2
del %1\%2
Теперь этот командный файл необходимо вызывать с тремя параметрами:
в первом передается полный путь к папке с файлами, второй параметр определяет
маску файлов, подлежащих архивации и удалению, а третий параметр задает имя
архива, в который будут помещены заархивированные файлы.
Обратиться к командному файлу можно так:
arc.bat d:\tmp *.txt arc.rar
А для другой папки, возможно, потребуется архивация файлов с расшире-
нием log и вызов командного файла примет вид:
arc.bat d:\work\logs *.log log.rar
Если в командный файл передается более 9 параметров, на помощь прихо-
дит команда shift, которая сдвигает значения параметров с %0 по %9, копируя
каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение
%2 — в %1 и т. д. Замещаемому параметру %9 присваивается десятое значение
параметра вызова. Если же такой параметр не задан, то переменная %9 получит в
начинающихся с символа с). Переменная tmpVar не была определена, поэтому ее значение при вычислении значения выражения будет принято за 0. Значение переменной можно задать и как результат работы команды. Так можно получить серийный номер тома текущего диска: @echo off vol | find “:” >out.tmp set /p var=
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »