2017-06-29 56 views
0

有没有什么办法可以像下面那样指定工作目录?Process.Start工作目录与文件路径相同的字符串

Process.Start("c:\someDir\someExecutable.exe + working directory path"); 

或如何使Windows环境变量path工作:

Process.Start("c:\someDir\someExecutable.exe"); 

我知道的ProcessStartInfo可以使用指定的工作目录。 我有我自己的理由想要把工作目录和文件路径放在Process.Start()的相同参数中。

+0

这取决于,一些可执行文件是否允许提供其工作目录作为命令行参数?为什么你不能使用'ProcessStartInfo'? – Sayse

+0

这是什么原因?您最终必须在通话时进行拆分,但最好保持两者分开或相互计算。 – Alejandro

+0

@Sayse,因为我必须将文件路径传递给application.plus的配置文件,我无法更改它的代码。 –

回答

2

public static Process Start(string fileName)的文档在这里找到:https://msdn.microsoft.com/en-us/library/53ezey2s(v=vs.110).aspx

正如你可以看到该参数的描述是:

文档或应用程序文件的名称在进程中运行。

的言论也指出:

此重载不允许命令行参数的过程。如果您需要为进程指定一个或多个命令行参数,请使用Process.Start(ProcessStartInfo)或Process.Start(String,String)重载。

因此,在总结不,你不能这样做。即使你的程序接受了一个工作目录作为命令行参数,这个重载也不起作用。