c# - 使用 Process.Start 参数和路径中的空格

标签 c# process.start

我见过类似的例子,但找不到与我的问题完全相同的东西。

我需要从 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/

相关文章:

先不运行go main函数

c# - Process.Start cmd.exe 不会运行在 IIS 中运行时作为参数传递的 cmd 文件

C# 相当于 cd C :\appFolder c:\app. exe?

Python 在其他脚本完成后运行脚本

c# - 我们如何使用 FtpWebRequest 显示上传进度条

C# 围绕 x 代码进行空检查的模块化方法

c# - 如果没有异常,是否可以有条件地执行一条语句?

c# - Windows Phone中异步下载后将Stream转换为字节数组

c# - Process.Start(/* pdf 路径 */) 不适用于 Windows 8 上的 Adob​​e Reader

c# - 如何使用 NPOI 库 c# 在 Excel 工作表中生成折线图和数据