Как получить путь для исполняемого файла, учитывая ТОЛЬКО имя исполняемого файла?

1

Мне нужно получить путь к исполняемому файлу, а информация, которую я получил, - это только исполняемое имя. Мне нужен путь к файлу, а не имя.exe

Пример: у меня есть только "arma3.exe", теперь мне нужно найти путь к нему. Мне нужно что-то вроде этого: "C:\Program Files\Arma3\arma3.exe" <- путь к файлу

Я НЕ прошу "Как найти путь к исполняемому пути CURRENT WPF APPLICATION" и "как получить имя файла с помощью X-пути".

И, пожалуйста, не спрашивайте меня, почему мне нужно найти путь или bla3. У меня есть своя причина сделать это.

Теги:
wpf

2 ответа

0

Если вы ищете только исполняемые файлы, которые, скорее всего, находятся в каталоге Program Files, вы можете использовать метод GetFiles класса System.IO.Directory:

string NewPath = System.IO.Directory.GetFiles(@"C:\Program Files\", "arma3.exe").FirstOrDefault();

Если может быть более одного файла:

string[] NewPaths = System.IO.Directory.GetFiles(@"C:\Program Files\", "arma3.exe");
0

То, что вы спрашиваете, это в основном поиск имени файла... Вы можете сделать это разными способами, например:

Не забывайте, что может быть несколько дисков:

В приведенных выше примерах возврат методов в поиск содержит имя папки в переменной, поэтому вы можете просто написать:

IEnumerable<string> matchFiles = possibleFiles.Where(a => a.EndsWith("/fileName.exe"))

Еще одна забота, которую вы должны иметь, - с разрешениями на папку, быть в курсе возможных исключений..

Имейте в виду, что этот поиск может занять некоторое время, может быть, есть и другие способы поиска, например, в реестре Windows или только в индексированных файлах или с использованием нескольких потоков, но это будет ответом на другой вопрос.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню