选择性同步Google云端硬盘用于本地文件夹?

tsn*_*yen 9 google-drive-api

Google云端硬盘是否有办法为本地文件夹进行选择性同步,即将父文件夹同步到云,同时仅保留一些选定的子文件夹?

举例来说,在我的本地PC的project文件夹有3个个子文件夹:data,source,和bin.有没有办法project在忽略时使用Google云端硬盘进行备份bin

Aci*_*hip 8

我知道这是一个老问题,"谷歌云端硬盘"现在是"从谷歌备份和同步",但它仍然适用.我花了一段时间才弄清楚这个解决方案,所以我可以同步我的项目,而不包括依赖项或缓存.

据我了解,问题是您要同步文件夹,但是文件夹中有一些您不想同步的子文件夹或文件,但是想要保留在本地计算机上(而不是Google云端硬盘).目前,Google云端硬盘仅执行相反的操作(它允许您在Google云端硬盘上保留副本,但不能在本地计算机上保留副本).

解决此问题的一种方法是在要同步的文件夹中创建符号链接,Google云端硬盘将忽略它们(在Windows 10上使用mklink命令进行测试).

例如,假设这是您的文件结构......

C:\
-- Google Drive\
---- MainFolder\
------ SubFolderA\
------ SubFolderB\
------ SubFolderC\
------ FileA.ext
------ FileB.ext
------ FileC.ext
Run Code Online (Sandbox Code Playgroud)

现在,假设您想要本地计算机上的MainFolder\SubFolderB \和MainFolder\FileB.ext,而不是Google Drive.在Google云端硬盘文件夹之外的某处创建一个"MainFolder"(例如:C:\ MainFolder \),然后将SubFolderB和FileB.ext移动到新创建的文件夹中.

您的文件结构现在应该像......

C:\
-- Google Drive\
---- MainFolder\
------ SubFolderA\
------ SubFolderC\
------ FileA.ext
------ FileC.ext
-- MainFolder\
---- SubFolderB\
---- FileB.ext
Run Code Online (Sandbox Code Playgroud)

接下来,我们将要创建符号链接.对于此示例,您将在管理员模式下运行命令提示符并运行以下命令:

mklink /D "C:\Google Drive\MainFolder\SubFolderB" "C:\MainFolder\SubFolderB"
mklink "C:\Google Drive\MainFolder\FileB.ext" "C:\MainFolder\FileB.ext"
Run Code Online (Sandbox Code Playgroud)

现在您的文件结构将是:

C:\
-- Google Drive\
---- MainFolder\
------ SubFolderA\
------ SubFolderB\ (symbolic link to C:\MainFolder\SubFolderB\)
------ SubFolderC\
------ FileA.ext
------ FileB.ext (symbolic link to C:\MainFolder\FileB.ext)
------ FileC.ext
-- MainFolder\
---- SubFolderB\
---- FileB.ext
Run Code Online (Sandbox Code Playgroud)

就是这样!您符号链接的文件夹/文件仍将保留在本地计算机上,但不会存储/同步到您的远程Google云端硬盘.

编辑

在这里发布实际答案而不是链接它.


Tey*_*yam 0

这实际上可以通过选择要同步的文件夹来实现,这是使用 Web 界面以及桌面客户端有选择地同步文件夹和子文件夹来完成的。

但是,如果您正在使用 Google Drive API 寻找此功能,则有关排除某些文件类型同步到 Google Drive的论坛讨论清楚地表明此功能目前尚不存在。

此讨论 -仅同步选定子文件夹的能力也可能有助于了解此功能。