0

文字列を引数として取るc#コンソールアプリケーションには、を呼び出す画像のコンテキストメニュー項目が"myexe.exe %1"あるため、ファイルへのパスがアプリケーションの引数になります。ファイルへのパスにスペースが含まれている場合でも、アプリケーションがどのような引数を取るかを見ると、次のよう"VISUAL~3/...." に表示されます(たとえば、ファイルへのパスに「visual stuido」が含まれている場合、スペースがあります)

しかし、私のアプリケーションは、与えられた引数の数を理解する必要があります。したがって、コンテキストメニューから呼び出された場合、結果の引数にはスペースがないため、すべて問題ありません。

しかし、他のアプリケーションからexeファイルを呼び出し、スペースを含む文字列引数を指定する必要があります。スペースを指定して引数を指定すると、アプリケーションがそれを分割するため、コンテキストメニューのように、引数にスペースをコーディングしてexeファイルに指定する方法がわかりません。どうやってするの?

4

2 に答える 2

1

コマンドライン引数を二重引用符で囲む必要があります。例:

string args = "\"arg 1\" \"arg 2\"";
于 2012-07-10T10:51:59.860 に答える
0

パス変数の両方を別々に引用符で囲む必要があります(例:"myexe.exe" "%1")。これにより、スペースを含む引数が無効なパスを生成するのを防ぐことができます。

「myexe.exe%1」は「myexe.exe引数」、意味のない実行可能ファイルになりますが、

"myexe.exe" "%1"は、 "myexe.exe" " ar gu ment "、単一の引数"を持つ"実行可能ファイル"" になります。

于 2013-01-09T09:27:46.890 に答える