gpt4 book ai didi

c# - System.Diagnostics.Process 参数

转载 作者:行者123 更新时间:2023-11-30 22:49:39 24 4
gpt4 key购买 nike

如何将参数传递给带空格的 System.Dignostics.Process。我这样做:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = exePath + @"\bin\test.exe";

string args = String.Format(@"{0}{1}{2}{3}", "-plot " ,path1, " -o ", path2);
proc.StartInfo.Arguments = args;

当 path1 和 path2 不包含空格时(假设 path1 = C:\Temp\和 path2 = C:\Temp\Test)那么它工作正常,但是当 path1 和 path2 包含空格时path1 = C:\Documents and Settings\user\Desktop and path2 = C:\Documents and Settings\user\Desktop\New Folder) 然后它截断 path1 和 path2 并中止。

请告诉我执行此操作的正确方法。

谢谢,阿希什

最佳答案

Process proc = new Process(); 
proc.EnableRaisingEvents = false;
proc.StartInfo.FileName = Path.Combine(exePath, @"bin\test.exe");
proc.StartInfo.Arguments = String.Format(@"-plot ""{0}"" -o ""{1}""", path1, path2);

如果使用文字(不带@),您可以转义引号:

\"{0}\"

如果使用逐字字符串(带@),您可以将引号加倍:

""{0}""

关于c# - System.Diagnostics.Process 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1012409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com