.NET: запуск процесса с путем и аргументами - PullRequest
0 голосов
/ 22 января 2009

Пути относительно текущего каталога. Я пробовал множество комбинаций цитирования, снятия кавычек, перехода в родительский каталог и удаления .., но я всегда получаю ошибку FileNotFound при попытке запустить процесс.

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

Ответы [ 2 ]

1 голос
/ 22 января 2009

В моем случае "текущий каталог" в некоторых случаях может быть 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);
1 голос
/ 22 января 2009

Вместо передачи относительного каталога, почему бы не передать полный путь? Вы можете использовать статические методы класса Path в пространстве имен System.IO, чтобы помочь вам создать путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...