“ ../”在指定ProcessInfo文件名时似乎不起作用

时间:2019-08-12 22:27:53

标签: c# process

在无法找到文件路径的Process StartInfo文件名中指定父目录时遇到问题。

想像这样工作:

p.StartInfo.FileName = "../../../example/env/Scripts/python.exe"

这行得通,但是我不想重置工作目录,因为python脚本的任何输出都会被重定向:

p.StartInfo.WorkingDirectory = "../../../example/env/Scripts/"
p.StartInfo.FileName = "python.exe"

有没有一种方法可以让我用父目录指定文件名路径?

1 个答案:

答案 0 :(得分:1)

您可以使用Path.GetFullPath将相对路径转换为绝对路径,然后使用Path.Combine将这两部分放在一起:

p.StartInfo.FileName = Path.Combine(
                           Path.GetFullPath("../../../example/env/Scripts"),
                           "python.exe")
                       );