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 ar gument”,一个没有意义的可执行文件,而

"myexe.exe" "%1"变成 "myexe.exe" "argument" 一个带有单个参数的" executable " "

于 2013-01-09T09:27:46.890 回答