示例:
call :my_label %%my!my%%myfolder%%folder!folder%%
:my_label
set my_local_var=%1
echo %my_local_var%
我认为没有办法完整地将此字符串作为局部变量,有没有办法在单个百分比变量上启用延迟扩展?或者任何其他方法来防止在字符串中解析变量?
答案 0 :(得分:1)
目前尚不清楚您的期望,但一般规则是使用call
引用而不是值,因为某些值根本无法传输。
所以你可以使用这样的东西。
setlocal EnableDelayedExpansion
set "myString=%%my^!%%folder^!folder"
call :my_label myString
exit /b
:my_label
set "temp=!%1!"
echo !temp!
exit /b