我见过类似的例子,但找不到与我的问题完全相同的东西。
我需要从 C# 运行这样的命令:
C:\FOLDER\folder with spaces\OTHER_FOLDER\executable.exe p1=hardCodedv1 p2=v2
我在运行时设置 v2,所以我需要能够在调用 Process.Start 之前修改 C# 中的字符串。有谁知道如何处理这个问题,因为我的参数之间有空格?
最佳答案
即使您使用 ProcessStartInfo 类,如果您必须为参数添加空格,那么上述答案也无法解决问题。有一个简单的解决方案。只需在参数周围添加引号。就这样。
string fileName = @"D:\Company Accounts\Auditing Sep-2014 Reports.xlsx";
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = "Excel.exe";
startInfo.Arguments = "\"" + fileName + "\"";
System.Diagnostics.Process.Start(startInfo);
这里我在文件名周围添加了转义引号,它起作用了。
关于c# - 使用 Process.Start 参数和路径中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17321289/