大型云存储服务-Dropbox、Google Drive、Microsoft OneDrive等-都存在同样的问题。它们只能同步云存储文件夹中的文件夹。但是有一种方法可以绕过这个限制:符号链接。
符号链接对于同步PC上的任何文件夹非常有用。例如,您可能希望同步必须位于PC上特定位置的某种配置文件。
符号链接101
Windows、Linux和MacOSX都有创建符号链接的集成工具。符号链接只是一个指向别处文件夹的“指针”。计算机上的程序会将该链接视为与实际文件夹或文件相同。
例如,假设您希望将C:\Stuff中的所有文件与Dropbox同步,但您仍然希望它们位于C:\Stuff中。您可以在Dropbox文件夹中创建指向C:\Stuff的符号链接,Dropbox将同步C:\Stuff文件夹中的所有内容。
不管怎么说,这就是理论。在实践中,许多云存储服务不再使用符号链接正常工作。不过,我们仍然可以反向使用符号链接。在我们的示例中,我们将整个C:\Stuff文件夹移动到Dropbox的文件夹。然后,我们将在C:\Stuff上创建一个指向Dropbox\Stuff文件夹的符号链接。Dropbox将同步文件夹中的文件,需要C:\Stuff文件夹的程序将正常运行。我们首先介绍了此解决方案,当时我们了解了如何与Windows 8.1上的OneDrive同步任何文件夹。
相关:在Windows上创建符号链接(也称为Symlink)的完整指南
<商标>Windows操作系统
首先,以管理员身份打开命令提示符窗口。在Windows 8或10上,按Windows键+X并单击命令提示符(管理员)。在Windows 7上,打开“开始”菜单,搜索命令提示符,右键单击“命令提示符”快捷方式,然后选择“以管理员身份运行”。
在命令提示符窗口中键入以下命令。在第一个命令中,将“C:\Path\to\ExternalFolder”替换为要同步的文件夹的路径,将“C:\Users\Name\Dropbox”替换为云存储文件夹的路径。此命令会将整个文件夹移动到您的云存储文件夹。
在原始位置创建符号链接。在原始位置查找该文件夹的程序将在那里找到它。他们所做的任何更改都将写入您的云存储文件夹。
<计算机>Linux 操作系
在Linux上,您应该只能使用ln-s命令创建符号链接。您应该不需要移动任何文件。打开终端并运行以下命令:
要同步单个文件,请指定该文件的路径,而不是文件夹的路径。如果此方法不起作用,请首先将外部文件夹移动到云存储文件夹内,然后反向创建符号链接-就像您在Windows上所做的那样。
MacOSX
您可以在Mac上使用相同的命令。首先,打开终端窗口-按Command+空格键,在Spotlight搜索对话框中键入Terminal,然后按Enter键。运行以下命令,填写适当的路径:
Google Drive不接受使用上述命令创建的符号链接,但其他服务可能会接受。要使用Google Drive执行此操作,请将要同步的文件夹移动到云存储文件夹内,然后反向创建符号链接:
同步外部文件夹
您也可以使用此技巧来同步云存储文件夹之外的文件夹。例如,假设您有一个C:\Stuff目录。你已经把它移到了你的云存储文件夹中,这样你就可以在Dropbox文件夹的“内容”下和网络上访问它了。如果你在多台电脑上都设置了Dropbox,你会在Dropbox文件夹中找到你的Stuff文件夹。您可以在每台计算机上创建相同的符号链接,C:\Stuff文件夹的内容将在所有PC上显示相同的内容。
一些第三方程序将帮助您为这些服务创建符号链接,但您可以使用操作系统中包含的工具来完成所有操作。我们不喜欢在力所能及的情况下推荐这样的第三方公用事业公司。
当然,有些程序确实允许您将任何文件夹同步到云中。例如,SpiderOak允许你选择电脑上的任何文件夹进行同步,而不会干扰符号链接。它也很棒,因为它是完全加密的,所以他们甚至看不到你在那里存储了什么。