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