Windows命令行参数转义

时间:2020-02-12 09:56:08

标签: c# windows batch-file command-line-arguments

    static void Main(string[] args)
    {
        foreach (string s in args) Console.WriteLine(s);
    }

在命令行窗口中运行应用程序:

"app.exe" "\\\\" "\'" "\\'"  "\\\'"

结果:

\\
\'
\\'
\\\'

2-4结果背后的逻辑是什么-为什么尾部的任何'在不转为单\之前都将所有\变成了全双?

(仅供参考,如果没有'则必须有偶数\或第二个“被左转义\)

扩展问题:然后将字符串放在双引号中作为命令行的参数时,转义任何字符串的一般方法是什么:

... "..." "escaped-string" "..." ...

那么可以保证C#程序将该参数作为原始字符串获取吗?

阅读此How to escape parameter in windows command line?

后仍然感到困惑

0 个答案:

没有答案