在a.bat
中if ... set a.b=1
...
set c=%%~!a.b!
echo%c%打印%~1
,但我需要%~1的内容。
但set c=%~!a.b!
导致“批处理参数替换中路径运算符的以下用法无效:%〜!a.b!。”怎么解决?
答案 0 :(得分:4)
您无法直接使用评估表达式访问参数,
因为百分比扩张是第一个phases of the parser之一。
但 CALL-trick 可以帮到你。
像
set paramNo=1
call echo %%~%paramNo%
将首先扩展到
call echo %%~1
并且CALL
将重新启动解析器,以便获得所需的结果。