我正在尝试将文件路径作为命令行参数传递。如果没有空格的路径可以正常工作,但是空格不行。在下面的代码commandText" scriptPath"即使有空间也在工作。 但变量" file1" &安培; "文件2"不使用空格。
string scriptFilePath = "@" + string.Format("\"{0}\"", "D:\\Script\\ScriptFile.txt");
string file1 = @"D:\New Folder\file1.png";
string file2 = @"D:\New Folder\file2.png";
string outPutPath = @"D:\New Folder\Output\Report.html";
string commandText = "/c " + "BCompare.exe" + scriptFilePath + " " + file1 + " " + file2 + " " + outPutPath;
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WorkingDirectory = @exePath;
startInfo.FileName = "cmd.exe";
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.CreateNoWindow = true;
startInfo.Arguments = commandText;
proc = Process.Start(startInfo);
proc.WaitForExit();

答案 0 :(得分:1)
将文件路径放在引号中。
答案 1 :(得分:0)
请先修复您的代码:
答案 2 :(得分:0)
解决方案1
string file1 = @"D:\New Folder\file1.png";
解决方案2
string file2 = "\"D:\\New Folder\\file2.png\"";