Актуальный вопрос
Как я могу "перенаправить" (символические ссылки?) или временно изменить значения %HOMEDRIVE%
и %HOMEPATH%
(может быть, на основе двух пакетных скриптов, которые меняют значения, когда я начинаю работать на машине, и сбрасывают все после того, как я закончу)?
Задний план
Многие программы Windows используют либо системную переменную %USERPROFILE%
, либо комбинацию %HOMEDRIVE%
и %HOMEPATH
, чтобы выяснить, где находится «домашний» каталог пользователя, который им нужно использовать (например, C:\Users\JohnDoe
). Будучи поклонником философии портативных приложений (см. внизу, что я имею в виду под этим), мне интересно, могу ли я каким-то образом сделать свой домашний каталог переносимым, т.е. чтобы он указывал на каталог на портативное устройство. Или, другими словами, я хотел бы сделать его «динамически изменяемым».
Что я пробовал
Я немного прочитал о Set
и Setx
и попробовал следующее:
Выяснение текущих значений переменных:
C:\Users\JohnDoe> Set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\<username>
Установите их:
C:\Users\JohnDoe> Setx HOMEDRIVE "d:"
C:\Users\JohnDoe> Setx HOMEPATH "\home"
Это создает HOMEDIR
и HOMEPATH
как пользовательские переменные среды (см. Панель управления >> Система >> Переменные среды). Но «глобальные» не изменились и, например. RStudio не распознает пользовательские переменные (по-прежнему записывает в C:\Users\JohnDoes\[...]
).
C:\Users\JohnDoe> Set HOME
HOMEDRIVE=C:
HOMEPATH=\Users\<username>
Портативные приложения
Например, см. PortableApps.com или просто подумайте «программное обеспечение, которое просто было установлено на портативное устройство вместо C:\Program Files\<app-name>
». Последнее мне очень нравится для программ, которые не заботятся о %HOMEDRIVE%
и %HOMEPATH%
(например, Eclipse или R).
Некоторые другие (например, Git) просто нужно немного подправить (например, см. этот пост).
Тем не менее, некоторые другие (например, RStudio) на самом деле без проблем запускаются с переносного устройства, но записывают информацию на "домашний компьютер" пользователя. "каталог. Это то программное обеспечение, которому я хотел бы предложить вместо этого использовать каталог на моем портативном устройстве.
set
, чтобы изменить переменные среды для текущей командной оболочки и запустить приложение из этой оболочки. Но, конечно, это работает только в том случае, если приложение действительно просматривает переменные среды (что не должно, но некоторые делают). - person Harry Johnston   schedule 27.07.2014