这通常是通过将参数在引号处理。
例如,如果你把这个为:
yourApp.exe "C:\Documents and Settings\desktop..."
你会在第一个参数(args[0]
)得到的字符串。
例如,使用此程序:
using System;
internal class Program
{
private static void Main(string[] args)
{
foreach (var arg in args) Console.WriteLine(arg);
Console.ReadKey();
}
}
如果你运行该用命令行参数为:
"C:\Documents and Settings\desktop..."
(到位后引号),这将打印:
C:\ Documents and Settings \ desktop ...
如果这不是一个选项,你只有一个参数,你可以随时加入结果:
using System;
internal class Program
{
private static void Main(string[] args)
{
string argument = String.Join(" ", args);
Console.WriteLine(argument);
Console.ReadKey();
}
}
这将工作,没有包装在引号的路径,但它假定整个路径单一路径,在“词语”之间只有一个空格,并且没有其他参数。就我个人而言,我会建议用引号将呼叫包裹起来,因为这是一个标准惯例。
当您使用像'C:\ documents and settings \ desktop ...'这样的参数调用控制台程序时,应该用引号括住参数。这将导致整个字符串显示在'args [0]'中。 – 2012-08-09 18:06:04