Переменная среды Windows Path
Простите за то, что я написал несколько вопросов в одном посте, но я предполагаю, что на все это легко ответить. Я стал достаточно опытным в использовании командной строки и настройке переменных среды на моем компьютере с Windows 8.1. Тем не менее, у меня все еще есть несколько вопросов о переменной%PATH%:
- Можете ли вы назвать один и тот же каталог дважды в%PATH%?
- Если вы удалите каталог, который был упомянут в%PATH% (скажем, в File Explorer), будет ли удалена его запись в%PATH%?
- Если нет, возникнет ли ошибка при поиске ОС несуществующего каталога?
- Если переменная%PATH% будет удалена, произойдет ли сбой ОС? И как вы можете восстановить его значение в этой точке?
- Когда в каталоге в%PATH% выполняется поиск исполняемых файлов, все ли в его подкаталогах выполняется поиск?
Заранее спасибо!
2 ответа
Решение
- Да, вы можете иметь повторяющиеся записи, но это ничего не даст. PATH сканируется, чтобы найти файл, и останавливается на первом найденном экземпляре, поэтому наличие одного и того же пути несколько раз просто приведет к потере времени, если что-либо (вероятнее всего, логика удалит дубликаты при сканировании)
- Нет, по крайней мере, не в автоматическом режиме. некоторые сценарии установки / удаления сделают это за вас, но в противном случае они просто загромождают переменную PATH.
- Нет, он просто никогда ничего там не найдет.
- Нет, потому что процессы, которые уже запущены, будут иметь копию среды, с которой при запуске она будет влиять только на новые процессы или при перезапуске. (Если вы хотите проверить это, запустите командное окно, затем измените путь пользователя, добавив что-то, и посмотрите, есть ли оно в уже открытом командном окне, затем откройте новое окно и увидите, что изменение присутствует).
- Нет, все подкаталоги не ищутся
Это выглядит тривиальным вопросом, но опытное управление%PATH% в Windows может быть проблематичным. Я против использования внешних инструментов для этого. Если этот вопрос по-прежнему актуален, вас может заинтересовать использование решения m