- Текущую рабочую директорию
- Системную директорию Windows (путь к ней можно получить функцией GetSystemDirectory())
- Директорию Windows (путь к ней можно получить функцией GetWindowsDirectory())
- Директории перечисленные в переменной окружения PATH
Если имя не содержит расширения (например, notepad или attrib), Windows будет запрашивать список файлов удовлетворяющих шаблону "имя.*" в каждой директории поиска чтобы найти файл с расширением упомянутым в переменной окружения PATHEXT.
Всё в порядке, если необходимо просто запустить notepad или mspaint из командной строки. Но что, если программу необходимо запускать много раз подряд? Тогда обращаться к ней по имени, определённо, не самое удачное решение. Далее я постараюсь объяснить почему.