Как определить, находится ли исполняемый файл в PATH, не просматривая все папки на пути (или не выполняя его) - PullRequest
1 голос
/ 30 августа 2011

Я знаю, что файловые операции довольно нестандартны между ОС и API, но я хотел бы выяснить, существует ли в пути исполняемый файл (названный во время выполнения).

Это проверка ввода пользователя ипозже приложение вызывается с помощью

        ProcessStartInfo ^processStartInfo = gcnew ProcessStartInfo("ReallyCool.exe");
        Process ^process = gcnew Process();
        process->StartInfo = processStartInfo;
        bool processStarted = process->Start();

, которое выбрасывается только в последней строке выше.

Кто-нибудь знает, как я могу проверить, есть ли файл, прежде чем рискнутьна самом деле, или я наивный, позволяя пользователям запускать «.exes» через мое приложение?

Что касается заголовка, я стараюсь избегать явного поиска в каждом каталоге на пути, если это возможно.Также я не уверен, как получить путь к Windows из кода .NET.

1 Ответ

1 голос
/ 30 августа 2011

Чтобы проверить, есть ли файл, используйте bool doesFileExist = System.IO.File.Exists(path);

Я сомневаюсь, что есть простой способ узнать, является ли он допустимым исполняемым файлом, не пытаясь запустить его.

...