【发布时间】:2020-05-04 15:47:30
【问题描述】:
我无法通过 c# 执行命令。该命令由两条路径组成,我必须将它们组合起来。两条路径都包含空格。
String arguments = "/K \"" + dtExecPath + "\"" + @" /f " + "\"" + tmpPackagePath + "\"";
// arguments = AddQuotesIfRequired(arguments);
Console.WriteLine("TEST: " + arguments);
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @arguments;
process.StartInfo = startInfo;
process.Start();
执行代码时,出现以下错误:“找不到 C:\Program”。
生成的命令如下所示:
TEST: /K "C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\DTEXEC.exe" /f "C:\Users\toki\source\repos\Integration Services Project1\Integration Services Project1\tmp\O2Data (1).dtsx"
什么是错误?
【问题讨论】:
-
您是否尝试过该字符串是否真的在命令行上有效?
标签: c# cmd processstartinfo