Batch file 批处理参数替换中路径运算符的以下用法无效

Batch file 批处理参数替换中路径运算符的以下用法无效,batch-file,Batch File,蝙蝠 if ... set a.b=1 ... set c=%%~!a.b! echo%c%打印%~1,但我需要%1的内容。 但是set c=%~!a、 b导致“以下在批处理参数替换中使用的路径运算符无效:%~!a.b!。“如何修复?您不能直接使用计算表达式访问参数, 因为百分率扩张是第一位的 但是呼叫技巧在这里可以帮助您。 差不多 set paramNo=1 call echo %%~%paramNo% 威尔首先扩展到 呼叫echo%%~1 调用将重新启动解析器,从而获得所需的结果

蝙蝠

if ... set a.b=1
...
set c=%%~!a.b!
echo%c%打印
%~1
,但我需要%1的内容。
但是
set c=%~!a、 b导致“以下在批处理参数替换中使用的路径运算符无效:%~!a.b!。“如何修复?

您不能直接使用计算表达式访问参数,
因为百分率扩张是第一位的

但是呼叫技巧在这里可以帮助您。
差不多

set paramNo=1
call echo %%~%paramNo%
威尔首先扩展到
呼叫echo%%~1

调用
将重新启动解析器,从而获得所需的结果