猿问

Windows命令解释器(CMD.EXE)如何解析脚本?

Windows命令解释器(CMD.EXE)如何解析脚本?

我遇到了ss64.com,它为如何编写Windows命令解释器将运行的批处理脚本提供了很好的帮助。

但是,我一直无法找到批处理脚本的语法,扩展或不扩展的方法,以及如何逃避事情的良好解释。

以下是我无法解决的示例问题:

  • 如何管理报价系统?我制作了一个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=aecho %a %b% c%%a a c%

    • set a =becho %a %b% c%bb c%

  • 如果此变量包含双引号,如何确保变量作为单个参数传递给命令?

  • 使用set命令时如何存储变量?例如,如果我这样做set a=a" b,那么echo.%a%我获得a" b。但是,如果我使用echo.exeUnxUtils,我会得到a b。怎么%a%以不同的方式扩展?

谢谢你的灯。


慕无忌1623718
浏览 1160回答 4
4回答
随时随地看视频慕课网APP
我要回答