我遇到了 Ss64.com,它在如何编写 Windows 命令解释器将要运行的批处理脚本方面提供了很好的帮助。
然而,我一直无法找到一个很好的解释 语法的批处理脚本,如何扩展或不扩展的东西,以及如何转义的东西。
下面是一些我没能解决的问题:
foreach $i (@ARGV) { print '*' . $i ; }
) ,编译它,并这样称呼它:
*a "b*c
*"a*b*c"
echo
命令是如何工作的? 在这个命令中展开了什么?for [...] %%I
,而在交互式会话中使用 for [...] %I
?%PROCESSOR_ARCHITECTURE%
?我发现 echo.exe %""PROCESSOR_ARCHITECTURE%
工作,有没有更好的解决方案?%
对是如何匹配的? 例如:
set b=a
,echo %a %b% c%
→ %a a c%
set a =b
,echo %a %b% c%
→ bb% c%
set
命令时如何存储变量?例如,如果我先做 set a=a" b
,然后做 echo.%a%
,我就得到 a" b
。然而,如果我使用 UnxUtils 中的 echo.exe
,我得到的是 a b
。为什么 %a%
会以不同的方式膨胀?谢谢你的灯光。