.NET:使用路径和参数启动进程

时间:2009-01-22 19:22:10

标签: c# .net process

路径相对于当前目录。我已经尝试了大量引用,取消引用,更改为父目录并删除..的组合,但是当我尝试启动进程时,我总是收到FileNotFound错误。

bridge_process = System.Diagnostics.Process.Start(
    @"../Tools/RunHidden",
    @"../My-Bridge.bat");

2 个答案:

答案 0 :(得分:1)

为什么不传递完全限定的路径,而不是传递相对目录?您可以使用System.IO命名空间中Path类的静态方法来帮助您创建路径。

答案 1 :(得分:1)

根据我的经验,

“当前目录”在某些情况下可以是c:\ windows \ system32。

试试这个:

    string fullapppath = Assembly.GetExecutingAssembly().Location;
    string apppath = System.IO.Path.GetDirectoryName(fullapppath);

    string path1 = System.IO.Path.Combine(apppath, @"../Tools/RunHidden");
    string path2 = System.IO.Path.Combine(apppath, @"../My-Bridge.bat");

    bridge_process = System.Diagnostics.Process.Start(path1, path2);