Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
А… Тут всё интереснее. Надо ещё читать «call /?»:
Цитата:
…
Изменение команды CALL при включении расширенной обработки команд:
Команда CALL допускает использование меток в качестве адресата вызова.
Применяется следующий синтаксис:
Код: 
CALL :метка аргументы
При вызове создается новый контекст текущего пакетного файла с заданными
аргументами, и управление передается на инструкцию, расположенную сразу после
метки. Для выхода из такого пакетного файла необходимо дважды достичь
его конца. Первый выход возвращает управление на инструкцию, расположенную
сразу после строки CALL, а второй выход завершает выполнение пакетного файла.
…
|
- При вызове «call :rename "%%i"» создаётся новый контекст текущего пакетного файла и управление передаётся за метку «:rename».
- Исполняется код после метки «:rename». Как исполнение доходит до «goto :eof» (второго) — происходит передача управления в конец пакетного файла и тем самым — завершение текущего («нового» из предыдущего пункта) контекста, и управление возвращается на следующую после вызывавшего «call» инструкцию.
- Продолжается исполнение пакетного файла, вплоть до «goto :eof» (первого), который аналогично передаёт управление в конец пакетного файла и завершает его работу.
|
Отправлено: 03:03, 29-07-2014
| #12
|