我创建了一个获取一些命令行参数的.NET 控制台应用程序。
当我传递带有空格的 args 时,我使用引号来包含这些参数,这样它们就不会被 cmd 分割:
C:\MyAppDir> MyApp argument1 "argument 2" "the third argument"
如果我在 Windows XP 中执行该应用程序,它可以正常工作:它有 3 个参数:
- 论据1
- 论点 2
- 第三个论点
但是,如果我在 Windows Server 2008 中执行它,它似乎会忽略引号:它有 6 个参数:
- 论据1
- “争论
- 2"
- “这
- 第三
- 争论”
任何想法为什么?
注意:我在 Main 开始使用此代码执行时打印了参数:
Console.WriteLine("Command line arguments:");
foreach (string arg in args)
{
Console.WriteLine("# " + arg);
}