CALL
необходим для начала второго раунда парсера.
Но есть небольшая ошибка (или больше), на этом этапе невозможно выполнить любую из специальных команд или использовать &
, |
, &&
, ||
, перенаправление или блоки команд.
Причина, по-видимому, в том, что синтаксический анализатор строит внутренне граф токенов, заменяя специальные вещи на некоторые значения токенов.
Но с CALL
исполнитель больше не знает как справиться с ними.
Этот код пытается выполнить пакетный файл с именем 3.bat
!!!
(имя может отличаться в зависимости от версии windows)
set "cmd=(a) & (b)"
call %%cmd%%
Но в вашем примере функция справки запускается на неисполняемом токене.
Кажется, что окончательный смертельный триггер для исполнителя полностью не в себе.