我有一个可执行文件名称,例如cmd.exe
并需要解决其完全限定路径。我知道该 exe 出现在列出的目录之一中PATH
环境变量。有没有一种方法可以解析完整路径,而无需解析和测试中的每个目录PATH
多变的?基本上我不想这样做:
foreach (string entry in Environment.GetEnvironmentVariable("PATH").Split(';'))
...
一定有更好的方法,对吗?
这是另一种方法:
string exe = "cmd.exe";
string result = Environment.GetEnvironmentVariable("PATH")
.Split(';')
.Where(s => File.Exists(Path.Combine(s, exe)))
.FirstOrDefault();
结果:C:\WINDOWS\system32
Path.Combine() 调用用于处理不以尾部斜杠结尾的路径。这将正确连接 File.Exists() 方法使用的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)