Назад | Перейти на главную страницу

источник исполняемого файла для командной строки

Каковы «источники», в которых командная строка в Windows (в моем случае xp) ищет команды для выполнения? Я имею в виду, что я пишу, например, «java» в командной строке, а затем запускаю java.exe, который находится в некотором каталоге, указанном в свойстве PATH sytem / evnironment (вы можете указать или установить его с помощью команды «SET PATH»). Есть ли другой источник для этого поиска? Если да - где? и как его установить?

Я спрашиваю, потому что у меня есть случай, когда команда, похоже, не находится ни в одном из каталогов PATH, и, несмотря на это, она запускает эту команду (откуда-то ..).

Большое тебе спасибо.

В дополнение к переменной PATH в реестре можно настроить пути к конкретным приложениям.

Если вы посмотрите HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ App Paths, вы увидите, как это делается.

В соответствии с Документация MSDN для CreateProcess, который в конце вызывается для запуска приложения

  1. Каталог, из которого загружено приложение.
  2. Текущий каталог родительского процесса.
  3. Системный каталог 32-битной Windows. Используйте функцию GetSystemDirectory, чтобы получить путь к этому каталогу.
  4. 16-битный системный каталог Windows. Нет функции, которая получает путь к этому каталогу, но он ищется. Имя этого каталога - System.
  5. Каталог Windows. Используйте функцию GetWindowsDirectory, чтобы получить путь к этому каталогу.
  6. Каталоги, перечисленные в переменной среды PATH. Обратите внимание, что эта функция не выполняет поиск по пути для каждого приложения, указанному в разделе реестра App Paths. Чтобы включить этот путь для каждого приложения в последовательность поиска, используйте функцию ShellExecute.

Что касается пункта 6. документация для функции ShellExecute не описывает, когда обрабатывается ключ App Paths.

Путь системы. echo% PATH% должен показать это из памяти.

Я обнаружил, что могу установить этот путь, перейдя в «Свойства моего компьютера» -> «Дополнительно» -> «Переменные среды».