これは通常、引数を引用符で囲んで渡すことによって処理されます。
たとえば、これを次のように呼び出す場合:
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...
それができず、引数が 1 つしかない場合は、いつでも結果を結合できます。
using System;
internal class Program
{
private static void Main(string[] args)
{
string argument = String.Join(" ", args);
Console.WriteLine(argument);
Console.ReadKey();
}
}
これは、パスを引用符で囲まなくても機能しますが、パス全体が単一のパスであり、「単語」の間にスペースが 1 つだけあり、他の引数が配置されていないことを前提としています。個人的には、標準的な規則であるため、呼び出しを引用符で囲むことをお勧めします。