C# 键入的原始命令行

C# 键入的原始命令行,c#,.net,command-line,arguments,C#,.net,Command Line,Arguments,我遇到了这样一种情况:将原始命令行作为键入的命令行,而不是分解为args数组,这将很有帮助。简单地将参数连接到一个字符串中会丢失参数之间的额外空格,在这种特殊情况下,它们可能非常重要 原始的未解析命令行在任何地方都可用吗?是的,可以通过环境类的属性执行此操作 Environment.CommandLine 为什么空间“曾经”是重要的?出于所有明显的原因,它们不应该是…(除了文件路径之外,但在这些路径中也不应该有双空格…@Mitch:如果我有cd c:\Program Files它就可以工作了。

我遇到了这样一种情况:将原始命令行作为键入的命令行,而不是分解为args数组,这将很有帮助。简单地将参数连接到一个字符串中会丢失参数之间的额外空格,在这种特殊情况下,它们可能非常重要


原始的未解析命令行在任何地方都可用吗?

是的,可以通过
环境
类的属性执行此操作

Environment.CommandLine

为什么空间“曾经”是重要的?出于所有明显的原因,它们不应该是…(除了文件路径之外,但在这些路径中也不应该有双空格…@Mitch:如果我有
cd c:\Program Files
它就可以工作了。如果我在
程序
文件
之间加上一个额外的空格,它就不起作用了——我希望它不会起作用。因为在这种情况下,其中一个参数是一个搜索目标,可以由任意非字母字符分隔,例如/whatever/,空格是重要的(用户正在寻找一个有三个空格的字符串)。命令行解析器将把它分成两个参数,除非它用引号分隔,如果搜索目标包含引号,他就不能使用引号。