我遇到了ss64.com,它提供了有关如何编写Windows Command Interpreter将运行的批处理脚本的良好帮助。
但是,我无法找到关于批处理脚本的语法,事物如何扩展或不扩展以及如何逃避事物的很好的解释。
以下是我无法解决的示例问题:
- 报价系统如何管理?我制作了一个TinyPerl脚本
(foreach $i (@ARGV) { print '*' . $i ; }),对其进行了编译并按以下方式进行调用:my_script.exe "a ""b"" c"→输出是*a "b*cmy_script.exe """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。但是,如果我echo.exe从UnxUtils 使用,我会得到a b。如何%a%以不同的方式扩展?
谢谢你的灯。