public static string WhereSearch(string filename)
{
var paths = new[]{ Environment.CurrentDirectory }
.Concat(Environment.GetEnvironmentVariable("PATH").Split(';'));
var extensions = new[]{ String.Empty }
.Concat(Environment.GetEnvironmentVariable("PATHEXT").Split(';')
.Where(e => e.StartsWith(".")));
var combinations = paths.SelectMany(x => extensions,
(path, extension) => Path.Combine(path, filename + extension));
return combinations.FirstOrDefault(File.Exists);
}
Поиск разположения .ехе файла
Есть ли какие то методы для поиска местонахождения .ехе файла в С#. Нужно программно узнать месторасположение sqlcmd.exe Если искать через реестр, то на разных компьютерах он находится в разных местах.
Спасибо.
http://msdn.microsoft.com/en-us/library/wz42302f.aspx
Цитата: kot_
Directory.GetFiles
http://msdn.microsoft.com/en-us/library/wz42302f.aspx
http://msdn.microsoft.com/en-us/library/wz42302f.aspx
тоже, вроде подходит, но там выводит список всех файлов в заданой директории.
сделал так:
Код:
String path = "";
try
{
path = Process.Start(new ProcessStartInfo("sqlcmd") { WindowStyle = ProcessWindowStyle.Hidden }).MainModule.FileName;
}
catch { }
try
{
path = Process.Start(new ProcessStartInfo("sqlcmd") { WindowStyle = ProcessWindowStyle.Hidden }).MainModule.FileName;
}
catch { }
А отфильтровать результат не судьба? searchPattern же есть.