如何通过符号链接替换 ​​Windows“我的图片”文件夹而不破坏长文件夹名称?

如何通过符号链接替换 ​​Windows“我的图片”文件夹而不破坏长文件夹名称?

Windows 允许您将当前用户图像存储在自定义文件夹 %userprofile%\pictures 中,该文件夹在资源管理器左侧窗格中的图片库下显示为“我的图片”。我有我的照片在另一个分区上,我希望 %userprofile%\pictures 路径指向该位置。

我尝试过删除或重命名“我的图片”为“默认”并将其隐藏,然后使用 mklink,如下所示:

mklink /D %userprofile%\pictures %anotherdir%/pictures

起初这似乎工作正常,但几分钟后,左侧窗格不再显示长名称“我的图片”,然后将其替换为“图片”。

我也尝试过链接,得到了同样的结果。

如何在不破坏自定义名称的情况下实现这一点?

答案1

以下方法似乎对我有用;在尝试此操作之前,您可能需要备份相关文件夹(我很好奇它是否始终对您有效):

安装 Junction Link Tools(“JLT--”是免费软件,我自己用过很多次,效果很好,我和它的创建者没有任何关系),你可以在以下位置找到它:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

安装完成后,请按照下列步骤操作:

  • 右键单击“我的图片”子文件夹(在您的用户文件夹中),然后单击“剪切”。
  • 导航到您想要的新文件夹位置(我在不同的驱动器/分区上测试了这一点,并且有效),右键单击空白处,然后单击“粘贴”。
  • 右键单击此新移动的文件夹,然后单击“选择链接源”。
  • 导航回您的用户文件夹(“我的图片”子文件夹的原始位置),右键单击空白处,然后左键单击“拖放到 -> 连接点”。

警告:自动备份工具对于是否读取或如何处理连接链接有不同的方法。

顺便说一句,还有一个重要的提示:你还可以重新定位包含 Junctions 的文件夹之内它(例如用户文件夹、ProgramData 或任何程序文件夹 - 我自己已经移动了所有这些文件夹,没有任何问题,例如以管理员身份登录*),,在这种情况下,您将需要使用 JLT 的“智能复制”功能。

为什么?

“智能复制”正确地重新定位任何复制的连接点之内一个文件夹,例如

"C:\Users\SR\My Pictures" [A Junction which points to "C:\Users\SR\Pictures"]
"C:\Users\SR\Application Data" [A Junction which points to "C:\Users\SR\AppData"]
<Many other Junctions under C:\Users\SR>

—— 到新的目标路径(或目标驱动器上的其他路径——如果原始连接点(疯狂地)指向某个地方外部复制的路径!),并更新复制的连接点,使它们指向新路径,例如

"G:\UserJunctions\SR\My Pictures" [A Junction to "D:\UserJunctions\SR\Pictures"]
"G:\UserJunctions\SR\Application Data" [A Junction to "D:\UserJunctions\SR\AppData"]
<Many other Junctions under C:\UserJunctions\SR>

我不知道 JLT 在后台技术上做了什么,这可能与您的方法不同。幸运的是,我不需要知道——它就是有效 :)

*只有极少数例外情况才能完美运行。我曾见过少数控制台应用程序在它们寻找的数据穿过连接链接时出现错误/不知道该做什么。

相关内容