簡體   English   中英

C#Process.Start:Whitespace甚至沒有工作

[英]C# Process.Start: Whitespace Not Working Even Quoted

我得到了什么:

Process.Start("cmd.exe", "/K \\"C:/Program Files/nodejs/node.exe\\" \\"C:/rc/rainingchain/app.js\\"");

即使我用“轉義”包裝文件名,它仍然顯示錯誤:

'C:/Program' is not recognized as an internal or external command, operable program or batch file.

怎么了?

您需要在程序路徑中使用兩個“空格:

Process.Start("cmd.exe", "/K \"\"C:/Program Files/nodejs/node.exe\" \"C:/rc/rainingchain/app.js\"\"");

您的代碼將被翻譯為

cmd.exe /K "C:/Program Files/nodejs/node.exe" "C:/rc/rainingchain/app.js"

cmd.exe會將其翻譯為

C:/Program Files/nodejs/node.exe" "C:/rc/rainingchain/app.js這就是為什么它抱怨錯誤。

你需要的是再次用雙引號括起整個node.exe命令。

Process.Start("cmd.exe", "/K \\"\\"C:/Program Files/nodejs/node.exe\\" \\"C:/rc/rainingchain/app.js\\"\\""); 所以node.exe命令將是"C:/Program Files/nodejs/node.exe" "C:/rc/rainingchain/app.js"

順便說一下,為什么不直接調用node.exe?

Process.Start("C:/Program Files/nodejs/node.exe", "C:/rc/rainingchain/app.js");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM