首页 > 解决方案 > 当字符串的一部分是var时,将多个参数传递给Process.Start时,我应该如何格式化字符串

问题描述

我正在尝试将 2 个参数传递给 c# 中的 Process.start,并且部分字符串必须是从用户输入构建的字符串 var。

当我使用简单的文件夹路径但我的路径由用户确定到process.StartInfo.Arguments must = "-format mp4 -outfolder " + myVar.

我不能让它工作。

Process process = new Process();
process.StartInfo.FileName = @"C:\Program Files (x86)\NCH Software\Prism\Prism.exe";
process.StartInfo.Arguments = "-format mp4 -outfolder C:/users/john";
process.Start();

预期的结果将是自动选择 mp4 格式的棱镜打开屏幕(工作正常),并且输出文件夹由变量设置。参数的那一部分被忽略,并且正在设置默认文件夹。

标签: c#

解决方案


我认为在您的情况下,您必须在 var 之间使用 \" \" 。

process.StartInfo.Arguments = "-format mp4 -outfolder  @\" " + myVar + "\""

关注此站点,您可以找到更多信息。 https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.arguments?view=netframework-4.8

或者尝试,

 string a = "aaa";
 string b = "bbb";
 Process.Start(@"something.exe ", "@"+ a + " " + b );

推荐阅读