【发布时间】:2014-08-23 02:17:27
【问题描述】:
有没有办法在Windows下获取用户名指定的用户的主目录?
我知道如何获取 当前 用户的主目录(通过 HOMEDRIVE、HOMEPATH 和 HOMESHARE 环境变量)。但是,当您只知道用户名时,对于任意用户呢?
也就是说,Windows下的~username之类的等价物是什么?
【问题讨论】:
-
总是这样
:/Users/ ? -
@VladimirHraban 不幸的是,它是完全可配置的。用户主目录不一定位于同一个文件夹、同一个驱动器,甚至是同一个物理机器中。
-
我这里没有 Windows 机器,但也许注册表节点 HKEY_Users\
\Environment\Tmp 会有所帮助。有一些方法可以使用 php & Wscript 读取/写入注册表 -
@VladimirHraban:用户注册表配置单元仅在相应用户登录时才会加载。
-
在 Windows 下并没有真正接近
~username的功能。甚至 HOMEDRIVE/HOMEPATH/HOMESHARE 中的信息也不一致;它可能指向本地配置文件夹或网络主目录,两者几乎没有共同之处。所以你真的需要知道你实际上在哪个文件夹。然而不幸的是,无论您想要哪个文件夹,答案都可能是“没有办法做到这一点”。 (一个例外:如果您知道用户有一个网络主目录,则此信息可从域中获得。)