因此通常,当您在 Windows 10 上登录 OneDrive 客户端时,您会看到一个名为的文件夹OneDrive
。当您在此处创建文件时,它会被上传到 OneDrive,这部分很清楚吧?
但是,如果您有另一个名为的文件夹,projects
并且您不想复制该文件夹并复制到OneDrive
,但想将其上传到云端,该怎么办?
是否可以同时同步两个文件夹?
答案1
解决此类问题的一般方法是使用“连接点”或“符号链接”。简而言之,连接点或符号链接是一种从其他地方(例如从同一卷或另一个卷上的另一个目录)到达 Windows 文件系统文件夹上的某个目录的便捷方式。简而言之,连接点和符号链接之间的区别在于,连接点不能指向网络驱动器,而只能指向本地附加卷。但是,符号链接能够使用 UNC 文件名指向网络目标。
对我来说,通常一个连接点就足够了,所以我的答案仅指连接点。但使用符号链接也可以达到同样的效果。
为了阐明这个概念,这里有一个使用两个不同连接点的示例:
- 原始(目标)文件夹:C:\tmp\my_project
- 创建了 1 号连接点:C:\tmp2\junction_2_my_project
- 创建了 2 号连接点:D:\another_junction_2_my_project
在此示例中,存在 2 个连接,它们指向 C: 上的同一(目标)文件夹。现在可以通过三种不同的方式访问和修改目标文件夹的内容。
注意:两个连接点中的每一个都可以随时删除,而不会破坏目标文件夹。连接点只是文件系统层次结构中到达目标文件夹的某种“链接”或“缩写”。
此方法可用于仅允许同步一个根文件夹的云服务(如 OneDrive 或 Dropbox)。如果我需要同步不在云服务根文件夹下的第二个(目标)文件夹,我必须创建到此文件夹的连接并将此连接放在云服务的根文件夹内。如果我的目标文件夹位于网络驱动器上,我必须创建并使用符号链接而不是连接。
关于上面的例子:
- 创建了 3 号连接点:E:\OneDrive\finally_junction_2_my_project
当然,我只能这样命名连接点:E:\OneDrive\my_project。你必须记住,这只是一个连接点,而不是原始项目文件夹。从现在开始,你可以在 OneDrive 或 Dropbox 文件夹中修改文件夹内容,内容将照常同步。如果你不再需要云服务中的连接点或符号链接,你只需删除连接点或符号链接。原始(目标)文件夹的内容将不会被删除。
有多种方法和第三方工具可以在 Windows 中创建连接或符号链接。在命令 shell (cmd) 中链接器可用于:
- 创建连接点:mklink /j "E:\OneDrive\junction_2_project" "c:\tmp\my_project"
- 创建一个符号:mklink“E:\OneDrive\symlink_2_project”“c:\tmp\my_project”
如果你的 Windows 版本没有 mklink.exe,可以使用'连接点'来自 Sysinternals。
我个人更喜欢在文件管理器中创建连接点(或符号链接)(西普洛尔)或使用 Windows shell 扩展'链接外壳扩展' 这在另一个答案中已经提到过,因为它比使用 Windows 命令 shell 更舒服。
注意:创建符号链接需要比创建连接点更高的权限。因此我更喜欢使用连接点。
答案2
我在这篇文章中发现了一些东西http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
使用该程序,您可以创建到该文件夹的符号链接。
但是,这是什么意思?
假设您有一个名为的文件夹,a
并且您想将内容与文件夹链接在一起b
而不存储文件。使用此程序,您只需单击一两次即可完成,非常简单。
只需下载并安装上面链接的 Link Shell Extension 程序。
之后,按照示例操作。即:
- 右键单击文件夹
a
- 选择
Pick link source
选项 - 右键单击文件夹
b
- 选择
Drop as
下拉菜单。 - 选择该
symbolic link
选项。这样你就完成了,文件夹现在已链接。