【发布时间】:2020-07-03 11:56:45
【问题描述】:
我有以下命令和一个输出接收到的参数的简单程序。
第一个命令行printer.exe arg1 \" ^" arg2 拆分为printer.exe、arg1、" 和^ arg2,第二个命令行printer.exe arg1 ^"arg2 拆分为printer.exe、arg1 和arg2。我的问题是,为什么在第二个命令中会跳过插入符号 ^?
谢谢!
【问题讨论】:
-
嗯,这在很大程度上取决于
printer.exe如何解析它的参数。您是否在 Windows 命令提示符窗口 (cmd.exe) 中执行此操作? -
是的,
printer.exe在cmd.exe中执行,参数由 CRT 解析,我只打印它们。 -
对于
cmd.exe,\没有任何特殊意义,只有^是转义字符;引用禁用特殊字符识别并因此转义;所以从左到右阅读,你的第一个例子结果是printer.exe arg1 \" ^" arg2(不变),你的第二个例子是printer.exe arg1 "arg2(你转义了她的引用);现在它取决于printer.exe如何处理这些命令行...
标签: windows cmd command-line command-line-arguments