Function glib::find_program_in_path

source ·
pub fn find_program_in_path(program: impl AsRef<Path>) -> Option<PathBuf>
Expand description

Locates the first executable named @program in the user’s path, in the same way that execvp() would locate it. Returns an allocated string with the absolute path name, or None if the program is not found in the path. If @program is already an absolute path, returns a copy of @program if @program exists and is executable, and None otherwise.

On Windows, if @program does not have a file type suffix, tries with the suffixes .exe, .cmd, .bat and .com, and the suffixes in the PATHEXT environment variable.

On Windows, it looks for the file in the same way as CreateProcess() would. This means first in the directory where the executing program was loaded from, then in the current directory, then in the Windows 32-bit system directory, then in the Windows directory, and finally in the directories in the PATH environment variable. If the program is found, the return value contains the full name including the type suffix.

§program

a program name in the GLib file name encoding

§Returns

a newly-allocated string with the absolute path, or None