Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
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 и ПУТЬ можно заменить на любые другие допустимые значения. Синтаксическая конструкция %~ должна завершаться правильным номером аргумента. Модификаторы %~ не могут использоваться вместе с оператором %*
|
|
|