Показать полную графическую версию : [решено] Переменная %PATH%
Через свойства Компьютера переопределяю переменную PATH:
set PATH=%PATH%;%ProgramFiles%
вызываю CMD, выполняю set P
Вижу, что переменная ProgramFiles=C:\Program Files (x86)
а PATH заканчивается на ";Program Files"
хотя я ожидал что ";Program Files (x86)"
Отчего это так? У других тоже?
посмотрите аналогию как написано в свойствах, я думаю поймете почему так
Petya V4sechkin
04-10-2012, 16:56
вызываю CMD, выполняю set P
Вижу, что переменная ProgramFiles=C:\Program Files (x86)
Потому что вызываете CMD из 32-битной оболочки, типа Total Commander?
Главное — на кой шут «Program Files» в «PATH»?!
Сбрасывать туда общедоступные программы. Скопировал туда 7z.exe, набрал потом просто "7z" и не нужно путь набирать.
бУРов, для этого есть AppPaths (http://www.outsidethebox.ms/12669/#_Toc305958531) - набрал просто 7 и... :)
Сбрасывать туда общедоступные программы. Скопировал туда 7z.exe, набрал потом просто "7z" и не нужно путь набирать. »
Заведите какую-либо папку внутри «Program files». Держать это в самой «Program files» — моветон.
бУРов, для этого есть AppPaths - набрал просто 7 и... »
Для использования из-под командной строки — совсем не резон. Я согласен — и Far Manager, и Total Commander учитывают при запуске и «App Paths», но из-под чистой командной строки сие не сработает. Да и какой смысл плодить кучу записей в реестре — по одной записи на каждую из кучи «общедоступных программ», когда достаточно одного добавления пути в PATH?!
Из за того, что это моветон, заводить доп. папку? Нарушаем правило Оккама.
бУРов, как раз принцип (а не правило) бритвы Оккама (рекомендации Microsoft не привожу, они Вам, видно, не резон) Вы и нарушаете, используя саму «%ProgramFiles%» для не свойственных ей задач.
Для использования из-под командной строки — совсем не резон »
Из командной строки - нет, это свойство оболочки. Но тогда можно просто класть в system32 и не морочить себе голову ни с чем, ибо она уже в path :)
А вообще, я бы не сказал, что это моветон. Майкрософт рекомендует установку ПО в Program Files по той причине, что доступ на запись туда есть только у администраторов. В этом плане лучше класть туда, чем в C:\mysoft...
А вообще, я бы не сказал, что это моветон. Майкрософт рекомендует установку ПО в Program Files по той причине, что доступ на запись туда есть только у администраторов. В этом плане лучше класть туда, чем в C:\mysoft... »
Вы меня не совсем поняли. Я вовсе не призываю класть утилиты в «c:\Utils» и т.п. Напротив, пусть они лежат в «%ProgramFiles%». Но не в корне «%ProgramFiles%», а во вложенной папке, хоть в той же «%ProgramFiles%\Utils», або иного названия.
Во всяком случае, я делаю именно так. И более того, держу отдельно такие группы утилит, как Sysinternals, NirSoft, некоторые другие. Какие-то утилиты, имеющие инсталлятор, сами предлагают правильные пути для установки — например утилиты из группы GnuWin32.
Прошу прощения, я тут затупил. Не обратил внимания, что в семерке две переменных окружения типа %ProgramFiles%:
- %ProgramFiles%=C:\Program Files
- %ProgramFiles(x86)%=C:\Program Files (x86)
Если в TC вызвать cmd.exe и набрать "set PRO", то обе эти переменные установлены в C:\Program Files (x86)
Если же вызвать cmd.exe тоже в TC, но из system.bar, то там у них разные значения
:(
бУРов, какая разрядность TC? Он же есть х64.
Я про это как-то не подумал.
"Total Commander Версия 7.55a 32 bit (7.7.2010)"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC