CALL
Вызов одного пакетного файла из другого.
CALL [диск:][путь]имя_файла [параметры]
параметры Набор параметров командной строки, необходимых
пакетному файлу.
Изменение команды CALL при включении расширенной обработки
команд:
Команда CALL допускает использование меток в качестве
адресата вызова. Применяется следующий синтаксис:
CALL :метка аргументы
При вызове создается новый контекст текущего пакетного файла
с заданными аргументами, и управление передается на инструкцию,
расположенную сразу после метки. Для выхода из такого
пакетного файла необходимо дважды достичь его конца. Первый
выход возвращает управление на инструкцию, расположенную
сразу после строки CALL, а второй выход завершает выполнение
пакетного файла. Команда GOTO /? выводит описание
расширения GOTO :EOF, позволяющее выполнить быстрый
возврат из пакетного файла.
Кроме того, раскрытие ссылок на аргументы пакетных файлов
(%0, %1 и т.д.) изменено следующим образом:
%* в пакетном файле обозначает все аргументы
(например, %1 %2 %3%4 %5 ...)
Операции подстановки параметров пакетного файла (%n)
также расширены. Допускается применение следующих
синтаксических конструкций:
~I - переменная I раскрывается с удалением
обрамляющих кавычек (")
~fI - переменная I раскрывается в полное имя файла
~dI - переменная I раскрывается в букву диска
~pI - переменная I раскрывается в путь
~nI - переменная I раскрывается в имя файла
~xI - переменная I раскрывается в расширение файла
~sI - раскрытый путь содержит только короткие имена
~aI - переменная I раскрывается в атрибуты файла
~tI - переменная I раскрывается в дату/время файла
~zI - переменная I раскрывается в размер файла
~$ПУТЬ:I - проводится поиск по каталогам, заданным в
переменной среды ПУТЬ, и переменная I
раскрывается в полное имя первого найденного
файла. Если указанная переменная среды
не определена или в результате поиска не найден
ни один файл, то этот модификатор заменяется на
пустую строку.
При объединении модификаторов получаются комбинированные
результаты::
%~dp1 - переменная %1 заменяется только на имя диска и путь
%~nx1 - переменная %1 заменяется только на имя файла и его
расширение
%~dp$ПУТЬ:1 - проводится поиск по каталогам, заданным в переменной
среды ПУТЬ, и переменная %1 заменяется на имя диска
и путь к первому найденному файлу.
%~ftza1 - переменная %1 заменяется на строку, выдаваемую
командой DIR
В приведенных выше примерах переменные %1 и ПУТЬ можно заменить на
любые другие допустимые значения. Синтаксическая конструкция %~
должна завершаться правильным номером аргумента. Модификаторы %~
не могут использоваться вместе с оператором %*