【发布时间】:2018-08-19 08:42:55
【问题描述】:
我正在尝试使用 C# 中 ProcessStartInfo 中的 cmd.exe 打开运行一些参数 但我的文件夹导航需要包含双引号,例如。 "C:\这是\我的\文件夹站点"
如您所见,使用双引号的原因是文件夹名称中有空格。
这是我的代码
var ddd = "\"" + projectPath + "\"";
var strCmdTxt = "/c cd " + ddd + " && code .";
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo
{
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = "cmd.exe",
Arguments = strCmdTxt, UseShellExecute = true, CreateNoWindow= true
};
process.StartInfo = startInfo;
process.Start();
但是,它运行的是这样的
cd\ "C:\这是\我的\文件夹站点\"
哪个,只是让我回到 C 盘
命令应该是cd "C:\this is\my\folder site"
【问题讨论】:
-
你能贴出
projectPath的实际值吗,因为我觉得问题出在那儿。 -
片刻,我认为“开始目录”有一个开关,必须放在
/C之后。
标签: c# cmd string-interpolation processstartinfo