![](/img/trans.png)
[英]What't the best way to automate a WinForms app with command line arguments?
[英]in a console app what's the best way to prevent special sequences in command line arguments from being escaped?
我編寫了這個控制台應用程序,它讀取一系列命令行參數並對其進行處理。
問題是,如果用戶輸入如下內容:
--folder "C:\my folder\" --username john
Main函數的args String數組將包含2個元素,而不是4個:
1st element: "--folder"
2nd element: "C:\my folder\" --username john"
(\\“序列以雙引號轉義。)
由於不使用引號將導致5個元素...
--folder C:\my folder\ --username john
1st element: --folder
2nd element: C:\my
3rd element: folder\
4th element: --username
5th element: john
...解決這個問題的最佳方法是什么?
這是Windows上奇怪的命令行解析規則的結果。 請參閱http://msdn.microsoft.com/zh-CN/library/windows/desktop/17w5ykft(v=vs.85).aspx 。 命令行實際上應該是:-- --folder "C:\\my folder\\\\" --username john
這是用戶輸入錯誤。 您不應該嘗試更正它的代碼。 只是優雅地失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.