在一个.bat
if ... set a.b=1
...
set c=%%~!a.b!
echo %c% 打印%~1
,但我需要 %~1 的内容。但set c=%~!a.b!
导致“批处理参数替换中路径运算符的以下用法无效:%~!ab!。” 怎么修?
在一个.bat
if ... set a.b=1
...
set c=%%~!a.b!
echo %c% 打印%~1
,但我需要 %~1 的内容。但set c=%~!a.b!
导致“批处理参数替换中路径运算符的以下用法无效:%~!ab!。” 怎么修?
您不能直接使用评估表达式访问参数,
因为百分比扩展是解析器的第一阶段之一。
但是CALL-trick可以在这里为您提供帮助。
就像是
set paramNo=1
call echo %%~%paramNo%
will 首先扩展为
call echo %%~1
并且CALL
将重新启动解析器,因此您将获得所需的结果。