原始命令行输入

7

我遇到了一个情况,需要获取原始命令行,而不是将其分解成args数组。简单地将args连接成一个字符串会丢失参数之间的额外空格,在这种特殊情况下,它们可能非常重要。

是否有任何地方可以获得未解析的原始命令行?


2
为什么空格会“永远”有意义呢?除了文件路径(但是在那种情况下也不应该有双空格),显然它们不应该有任何意义... - Mitch Wheat
@Mitch:如果我输入 cd c:\Program Files,它可以正常工作。但是如果我在 ProgramFiles 之间多加了一个空格,它就无法工作了——而我也不会期望它能够工作。 - Gabe
因为在这种情况下,其中一个参数是搜索目标,可以由任意非字母数字字符分隔,例如/what<sp><sp><sp>ever/,并且空格很重要(用户正在查找具有三个空格的字符串)。命令行解析器将把它分成两个参数,除非它用引号括起来,但如果搜索目标包含引号,则无法使用引号。 - chrisd
1个回答

11

是的,您可以通过 Environment 类的 CommandLine 属性来实现。

Environment.CommandLine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接