使用带有空格的参数从C#运行exe

Jim*_*mes 2 c#

我正在摸着这个.我试图使用system.diagnostics从C#运行一个exe,但它没有正确地传递我的参数,所以exe掉了下来.

由于其中的空间,它在"here"(见下文)之后拆分路径.

有没有人知道如何在不重命名目录的情况下解决这个问题(这对我来说不是一个选项)

这可以从命令行工作:

"C:\ Users\me\Desktop\myexternalexe\myexternalexe.exe"注释"\ 192.168.1.1\a \这里是问题\ c\d \"

这不是来自Visual Studio:

Process myexternalexe = new Process();

myexternalexe.StartInfo.FileName = @"C:\Users\me\Desktop\myexternalexe\myexternalexe.exe";
myexternalexe.StartInfo.Arguments = @"comments \\192.168.1.1\a\here is the problem\c\d\";

myexternalexe.Start();
Run Code Online (Sandbox Code Playgroud)

Tim*_*ers 7

但是你已经省略了C#版本的引号.它应该是:

myexternalexe.StartInfo.Arguments = @"comments ""\\192.168.1.1\a\here is the problem\c\d\""";
Run Code Online (Sandbox Code Playgroud)