在.NET中,Windows Vista和Windows 7计算机上是否存在等效的“where”命令?我需要解决在安装时在系统路径中定义的可执行文件的硬路径,并不是每个人都使用默认安装路径安装所有内容。
目前我将“where”命令称为外部进程,但这仅适用于Vista和Windows 7计算机,这不适用于开箱即用的XP。
答案 0 :(得分:0)
您必须阅读环境变量PATH并在每个路径中查找应用程序的存在并使用它。这就是Powershell cmdlet get-command
的工作原理 - http://technet.microsoft.com/en-us/library/dd347726.aspx
注意:如果获取which
/ where
路径的原因是使用路径并调用可执行文件,则不需要这样做,因为可执行文件已经在PATH中并且您需要获取路径,然后明确使用它。
答案 1 :(得分:-1)
您可以使用System.IO.Directory.EnumerateFiles()方法搜索文件 这是一个例子
System.IO.Directory.EnumerateFiles(Environment.SystemDirectory,"YourFile.exe",SearchOption.AllDirectories)
它返回一个包含路径的字符串数组。