gpt4 book ai didi

c# - 等效于 C# 中的 "where"命令提示符命令

转载 作者:可可西里 更新时间:2023-11-01 13:32:16 28 4
gpt4 key购买 nike

有没有办法在 C# 中动态查找路径而不执行“where”命令提示符命令?

例如,如果我想找到 mspaint exe,我可以在命令提示符中键入它

where mspaint

并返回路径。

最佳答案

我不认为公共(public)语言运行库中有内置方法可以为您做这件事,但您当然可以自己做:

  • 获取PATH环境变量的值
  • 将其拆分为 ; 分隔符以获取路径中的目录列表
  • 检查每个目录,看看它是否包含程序

例子:

public static string FindInPath(string filename)
{
var path = Environment.GetEnvironmentVariable("PATH");
var directories = path.Split(';');

foreach (var dir in directories)
{
var fullpath = Path.Combine(dir, filename);
if (File.Exists(fullpath)) return fullpath;
}

// filename does not exist in path
return null;
}

不要忘记将 .exe 添加到文件名中。 (或者,您可以修改上面的代码以搜索任何可执行扩展名:.bat.com.exe;甚至可能是任何扩展名。)

关于c# - 等效于 C# 中的 "where"命令提示符命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22210758/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com