c# 转义字符试图 运行 命令

c# escaping chars trying to run command

我正在尝试 运行 这个带有几个引号的命令:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="10.10.10.10:9999" -user-data-dir=C:\filterbypass www.example.com"

我试过在 C 之前和 com 之后添加反斜杠,没有成功

尝试将其分配给字符串

string \"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="10.10.10.10:9999" -user-data-dir=C:\filterbypass www.example.com\" 希望 运行 这样的命令,但仍然没有。

try
{
     System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --proxy-server="10.10.10.10:9999" -user-data-dir=C:\filterbypass www.example.com");
}
catch { }

谁能告诉我哪里出错了?谢谢,

您需要将 运行 的二进制文件与参数分开。我建议使用 ProcessStartInfo 来使这一点更清楚:

var info = new ProcessStartInfo
{
    FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
    Arguments = "--proxy-server=10.10.10.10:9999 " +
                @"--user-data-dir=C:\filterbypass " +
                "www.example.com"
};
var process = Process.Start(info);

(请注意 -- 用于 user-data-dir 开关,顺便说一下 - 看起来所有命令行标志都以 -- 为前缀,而不是 -. 有可能是双向的...)