C# 使用C运行Windows路径中存在的可执行文件#

C# 使用C运行Windows路径中存在的可执行文件#,c#,windows,C#,Windows,我正在尝试使用C#命令行运行一些命令,比如rails test。我尝试使用,但我需要rails可执行文件的完整路径才能工作。是否有其他方法可以像windows命令行一样找到工作?我相信如果在用于启动进程的中将UseShellExecute设置为true,它将使用路径。还没有检查它-我有机会时会这样做。如果您可以p/Invoke,您可以使用找到可执行文件。一个快速的谷歌不会显示C#等价物 如果没有p/Invoke,Environment.GetEnvironmentVariable(“Path”)

我正在尝试使用C#命令行运行一些命令,比如
rails test
。我尝试使用,但我需要rails可执行文件的完整路径才能工作。是否有其他方法可以像windows命令行一样找到工作?

我相信如果在用于启动进程的中将
UseShellExecute
设置为true,它将使用路径。还没有检查它-我有机会时会这样做。

如果您可以p/Invoke,您可以使用找到可执行文件。一个快速的谷歌不会显示C#等价物

如果没有p/Invoke,
Environment.GetEnvironmentVariable(“Path”).Split(;”)
应该为您提供一个要探测的路径列表


但是,这并不是ShellExecute甚至控制台使用的全部解决方案

谢谢你的回答。它似乎可以做到这一点,但当
UseShellExecute'为
true
时,我无法读取输出
RedirectStandardOutput'需要将
UseShellExecute
设置为false。@Adam:是的,似乎不能同时使用这两种方法。。。您能让rails测试程序将其结果转储到一个您可以读取的日志文件中吗?