2

コマンド ラインから C# アプリケーションに 2 つのディレクトリ パスを渡そうとしています。これらのパスにはスペースが含まれている可能性が高く、C# がargs[]スペースをまたいで分割してデータを入力するため、問題が発生しています。

私が試したのは、次のように引用符で囲まれたパスを渡すことでした:

myprogram.exe "C:\aa a\bbb\" "C:\ppp\ll l\"

..ただし、各パスの末尾にあるバックスラッシュが C# によってエスケープ文字として解釈され、二重引用符も解析されるため、これは問題を引き起こします。これらの引数を指定してアプリを実行すると、args[] にはエントリが 1 つだけ含まれます。

C:\aa a\bbb" C:\ppp\ll l"

簡単な解決策は、最後のバックスラッシュなしでディレクトリ パスのみを入力することですが、これは最適ではなく、プログラムのユーザーをイライラさせる可能性があります。

これに対する簡単な解決策はありますか?

4

1 に答える 1