2015-08-07 5 views
1

Простите меня за то, что вы задали несколько вопросов в одном сообщении, но я предполагаю, что все это легко ответить. Я стал достаточно опытным в использовании командной строки и настройке переменных среды на моем компьютере с Windows 8.1. Тем не менее, у меня все еще есть несколько вопросов о переменной% PATH%:Переменная среды Windows Pathable

  1. Можете ли вы назвать тот же каталог дважды в% PATH%?
  2. Если вы удалите каталог, упомянутый в% PATH% (скажем, с помощью File Explorer), будет ли удалена его запись в% PATH%?
  3. Если нет, возникнет ли ошибка, когда ОС будет искать несуществующий каталог?
  4. Если переменная% PATH% удалена, произойдет сбой ОС? И как вы можете восстановить его значение в этот момент?
  5. Когда поиск в файле% PATH% выполняется для исполняемых файлов, все же ищут и его подкаталоги?

Заранее благодарен!

ответ

1
  1. Да, у вас могут быть дубликаты записей, но это ничего не достигнет. PATH сканируется, чтобы найти файл и останавливается в первом экземпляре, который он обнаруживает, поэтому один и тот же путь несколько раз будет просто тратить время, если что-либо (вероятность того, что логика удалит дубликаты при сканировании)
  2. Нет, по крайней мере, не автоматом. некоторые скрипты install/un-install сделают это для вас, но в противном случае это будет просто захламление переменной PATH.
  3. Нет, он просто ничего не найдет.
  4. Нет, потому что процессы, которые уже запущены, будут иметь копию среды с момента их запуска, это повлияет только на новые процессы или при перезапуске. (Если вы хотите протестировать это, запустите командное окно, затем измените путь пользователя, добавив что-нибудь и посмотрите, есть ли он в уже открытом окне команд, затем откройте новое окно и увидите, что это изменение присутствует). не
  5. Нет все подкаталоги не искали
+0

Спасибо, Роб, это очищает вещи! Я все еще запутался в номере 4, хотя ... Я видел, что вы можете редактировать Path в командной строке, и это влияет только на текущий сеанс cmd. Однако, если вы редактируете «Путь через расширенные системные настройки», это изменение является постоянным, насколько я могу судить. Итак, если я очищу Путь этим последним способом, что произойдет? (очевидно, я был напуган, чтобы проверить это ...) – Rabadash8820

+0

Да. Из дополнительных настроек вы можете постоянно изменять как Систему, так и пользовательскую среду. Так что я бы не очистил переменную. Одна вещь, которую вы могли бы сделать, это либо добавить что-то в конце, что вы можете легко найти «; BOGUS/PATH» или переименовать PATH или PATH_BKP и создать новую переменную PATH, в которой ничего нет. и запустите свой тест, а затем верните изменение. Вы также можете постоянно изменять среду из командной строки командой SETX. :) – Rob

+0

комплектx ... интересный. Отлично, спасибо за вашу помощь! – Rabadash8820

0

Похоже тривиальный вопрос, но владеют% PATH% управления на окнах может быть проблематичным. Я противник использования внешних инструментов для этого. Если этот вопрос по-прежнему действителен, вам может быть интересно использовать m solution