2012-07-10 28 views
0

在我C#控制檯應用程序,這需要字符串作爲參數調用到文件, 我對圖像的上下文菜單項,調用"myexe.exe %1",所以路徑文件成爲爭論申請。即使文件路徑包含空格,當我觀看時,我的應用程序需要什麼參數,我可以看到類似"VISUAL~3/...."(這是文件路徑包含「可視化stuido」的示例,它具有空間)編碼路徑時,它使用註冊表和上下文菜單

但是我的應用程序應該知道給出了多少個參數,所以如果從上下文菜單中調用它,一切正常,因爲result參數沒有空格。

但是我需要從其他應用程序調用exe文件,並給予字符串參數以空格。當我只給空格的參數時,我的應用程序將它分開,所以我不知道如何將參數中的空格編碼爲exe文件,就像上下文菜單一樣。怎麼做?

回答

1

你應該雙引號的命令行參數,例如,

string args = "\"arg 1\" \"arg 2\""; 
+0

這不是我想要的,但我改變了我的代碼,所以它被解決了,謝謝 – lenden 2012-07-10 11:29:44

+0

@ user1495756 - 如果這不是你想要的,你爲什麼接受它作爲答案,那是沒有意義的。 – 2012-07-10 12:23:18

0

兩者的路徑變量必須單獨報價,例如「MYEXE.EXE」 「%1」。這將防止空間的說法產生了無效的路徑:

「MYEXE.EXE%1」變爲「MYEXE.EXE AR顧彪」,一個的可執行文件,是沒有意義的,而

「MYEXE.EXE」 「%1」變爲 「MYEXE.EXE」 「AR區換貨」,一個可執行」, 「帶一個參數