使用Process.Start()使用进程的路径执行进程

时间:2014-04-04 15:05:23

标签: c# path

我这样做:

public static void ExecProcess(String path, string filename)
{
    Process proc = new Process();
    proc.StartInfo.FileName = path + "nst.exe";
    proc.StartInfo.Arguments = filename;
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.RedirectStandardOutput = true;

    proc.Start();
    proc.WaitForExit();
    var stringa = proc.StandardOutput.ReadToEnd();
    proc.Close();
}

问题是我的进程是使用我的C#应用​​程序的路径而不是它的路径。 nst.exe位于C:\Desktop,但当我使用上面的代码调用它时,执行路径变为C:\\Documents\VisualStudio\MyProject\Debug\

我如何在他的道路上执行这个过程?

[编辑] 这就是我调用方法的方法:

    public void EseguiOttimizzatore()
    {
        OttimizzatoreService.ExecProcess(@"C:\Users\Developer\Desktop\", _idPlanning.ToString() + ".dat");
    }

1 个答案:

答案 0 :(得分:1)

设置WorkingDirectory的{​​{1}}属性:

StartInfo