实际问题
如何“重定向”(符号链接?)或临时更改和的值%HOMEDRIVE%
(%HOMEPATH%
可能基于两个批处理脚本,当我开始在机器上工作时更改值并在完成后重置所有内容)?
背景
许多 Windows 程序要么选择系统变量,要么选择%USERPROFILE%
和 的组合,%HOMEDRIVE%
以便%HOMEPATH
找出用户需要使用的“主”目录在哪里(例如C:\Users\JohnDoe
)。作为便携式应用程序哲学的粉丝(请参阅底部我的意思),我想知道我是否可以以某种方式使我的主目录可移植,即让它指向便携式设备上的目录。或者,换句话说,我想让它“动态可变”。
我试过的
找出当前变量值是什么:
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%
and的程序%HOMEPATH%
(例如Eclipse或R)。
其他一些(例如Git)只需要稍微调整一下(例如看这篇文章)。
还有一些其他的(例如RStudio)实际上可以在便携式设备上顺利运行,但会将内容写入用户的“主”目录。这就是我想告诉我在我的便携式设备上使用目录的软件。