如何“重定向”(符号链接?)或暂时更改%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
作为特定于用户的环境变量(请参阅控制面板&gt;&gt;系统&gt;&gt;环境变量)。但是“全球性的”没有改变,例如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)只需稍微调整一下(例如,请参阅this post)。
然而其他一些(例如RStudio)实际上平稳地从便携式设备上运行,但是将内容写入用户的“主页”目录。这是我想要在我的便携式设备上使用目录的那种软件。
答案 0 :(得分:1)
虽然您可以更改环境变量,但这并不适用于所有应用程序,因为Windows中还有一个Shell文件夹API,它提供了各种用户特定的位置。
因此,最好使用实际的Windows方法来更改配置文件。并且这不可能成为移动设备,因为它期望用户的注册数据库具有稳定且可用的位置。
我认为在设置windows(和sysprep)时,可以为} users}文件夹指定一个位置(不同的驱动器)。移动最快的是特殊库文件夹,您可以在Explorer Properties视图中更改它们的位置。