如何在用parantheses('if'或'for'-loop)包围的范围中设置结果变量.结果是正确的(>> RESULT:aaa = bbb),直接调用过程,并且在for循环或if语句中使用时失败(>> RESULT:ccc =).
:: =====================================
@setlocal
@echo off
@rem (1)
call :testReturn aaa
echo RESULT: aaa = %aaa%
@rem (2)
if "1" == "1" (
call :testReturn ccc
echo RESULT: ccc = %ccc%
)
goto :eof
:testReturn
set %~1=bbb
exit /b
endlocal
Run Code Online (Sandbox Code Playgroud)
谢谢!!