批處理檔案中的匿名函式
匿名函式技術使用 CALL
命令在呼叫子例程時使用內部 GOTO
並使用可變雙擴充套件濫用幫助訊息列印的事實 :
@echo off
setlocal
set "anonymous=/?"
call :%%anonymous%% a b c 3>&1 >nul
if "%0" == ":%anonymous%" (
echo(
echo Anonymous call:
echo %%1=%1 %%2=%2 %%3=%3
exit /b 0
)>&3
只有在 CALL
之後定義了匿名函式(或者如果 CALL
在括號內執行,則在完成括號上下文後)。它不能從外部指令碼呼叫,但比正常的函式呼叫慢。