通过 cmd 或 PowerShell 更改用户文件夹的位置?

iFr*_*cht 6 windows powershell command-line cmd.exe windows-10

我经常在我的 PC 上重新安装 Windows,并将我的所有用户文件存储在一个专用驱动器上,比如D:.

每次执行此操作时,我都必须手动转到C:\Users\<username>\,右键单击每个文件夹(以及一些子文件夹,例如AppData\Roaming\Microsoft\Windows\Start Menu\Programs)并更改其位置,如下所示:

文件夹属性对话框,位置选项卡

为了使这更容易,我想编写一个.bat.ps1脚本来自动执行此操作。是否有内置的 cmdlet 可以让我执行此操作?

小智 -2

没有内置的 cmdlet 可以执行此操作,因为它绝对不受支持,并且可能会破坏您的现代应用程序。阅读:您的开始菜单、Cortana 等。有一个注册表项可以重定向配置文件,但我不建议使用它。

请参考 MSDN 上的 ProfilesDirectory 键,它也可以执行此操作。您在此处放置一条路径,它会将您的个人资料移至此处。但绝对不推荐。阅读“重要使用说明”

https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-folderlocations-profilesdirectory

如果您只想备份它,您可以使用

复制项目 C:\users\用户名\文件夹 D:\用户\用户名\文件夹\

这会将 C:\ 上的文件夹的所有内容复制到 D:\ 上的文件夹。不要从您的配置文件中复制应用程序数据,重新导入时您会遇到麻烦。