Call
Вызов одного пакетного файла из другого (
запуск скрипта или пакетной программы из другого скрипта или пакетной программы )
Вызов одного пакетного файла из другого.
CALL [диск:][путь]имя_файла [параметры]
параметры Набор параметров командной строки, необходимых
пакетному файлу.
Изменение команды CALL при включении расширенной обработки команд:
Команда CALL допускает использование меток в качестве адресата вызова.
Применяется следующий синтаксис:
CALL :метка аргументы
При вызове создается новый контекст текущего пакетного файла с заданными
аргументами, и управление передается на инструкцию, расположенную сразу после
метки. Для выхода из такого пакетного файла необходимо дважды достичь
его конца. Первый выход возвращает управление на инструкцию, расположенную
сразу после строки CALL, а второй выход завершает выполнение пакетного файла.
Команда GOTO /? выводит описание расширения GOTO :EOF, позволяющее выполнить
быстрый возврат из пакетного файла.
Кроме того, раскрытие ссылок на аргументы пакетных файлов (%0, %1 и т.д.)
изменено следующим образом:
%* в пакетном файле обозначает все аргументы (например %1 %2 %3
%4 %5 ...)
Операции подстановки параметров пакетного файла (%n) также расширены.
Допускается применение следующих синтаксических конструкций:
%~1 - из переменной %1 удаляются обрамляющие кавычки (")
%~f1 - переменная %1 расширяется до полного имени файла
%~d1 - из переменной %1 выделяется только имя диска
%~p1 - из переменной %1 выделяется только путь к файлу
%~n1 - из переменной %1 выделяется только имя файла
%~x1 - из переменной %1 выделяется расширение имени файла
%~s1 - полученный путь содержит только короткие имена
%~a1 - переменная %1 расширяется до атрибутов файла
%~t1 - переменная %1 расширяется до даты /времени файла
%~z1 - переменная %1 расширяется до размера файла
%~$PATH:1 - проводится поиск по каталогам, заданным в переменной
среды PATH, и переменная %1 заменяется на полное
имя первого найденного файла. Если переменная PATH
не определена или в результате поиска не найден ни
ни один файл, то этот модификатор заменяется на пустую
строку
Эти модификаторы могут быть объединены для получения следующих
результатов:
%~dp1 - переменная %1 заменяется только на имя диска и путь
%~nx1 - переменная %1 заменяется только на имя файла и его
расширение
%~dp$PATH:1 - проводится поиск по каталогам, заданным в переменной
среды PATH, и переменная %1 заменяется на имя диска
и путь к первому найденному файлу.
%~ftza1 - переменная %1 заменяется на строку, выдаваемую
командой DIR
В приведенных выше примерах переменные %1 и PATH можно заменить на
любые другие допустимые значения. Синтаксическая конструкция %~
должна завершаться правильным номером аргумента. Модификаторы %~
не могут использоваться вместе с оператором %*