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

本文关键字:进程 路径 执行 Process Start 使用 | 更新日期: 2023-09-27 17:56:55

我正在这样做:

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");
    }

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

设置 StartInfoWorkingDirectory 属性:

proc.StartInfo.WorkingDirectory = @"C:'Users'Developer'Desktop'";