将所有导出文件自动下载到 Windows 系统的最简单的方法是什么?
我需要使用 Windows 下载完整的 Google Workspace 数据导出。Google Workspace 数据导出与 Google Takeout 类似,但适用于整个组织。
生成导出文件时,可以使用 Web 界面逐个下载,也可以使用同一 Web 界面提供的 gsutil 命令下载。
gsutil -m cp -r \
"gs://takeout-export-.../20210716T081530Z/CustomerOwnedData/" \
"gs://takeout-export-.../20210716T081530Z/Resource:\ -10235762353432345231/"
...50 more lines
.
此命令在 Windows 上不能立即使用。
到目前为止我已经做了以下事情
- 删除所有内容
\\\n
,使其成为单行语句。 - 删除文件名中的空格转义符“\”,因为它已被引用。
问题仍然是导出中的文件名包含“:”,而 Windows 不允许。
我可以通过指定新的目标文件夹名称来下载单个文件夹,但这必须手动逐个文件夹进行。
我试图将该命令重写为每个文件夹的一个命令:
gsutil -m cp -r "gs://takeout-export-.../20210716T081530Z/Resource: -10235762353432345231/" "Resource: -10235762353432345231/"
这仅适用于只有一个文件的文件夹。大多数文件夹有两个文件,结果如下:
CommandException: Destination URL must name a directory, bucket, or bucket
subdirectory for the multiple source form of the cp command.
CommandException: Destination URL must name a directory, bucket, or bucket
subdirectory for the multiple source form of the cp command.
CommandException: 2 files/objects could not be transferred.
接下来我尝试重命名“资源:...”文件夹
gsutil -m mv "gs://takeout-export-.../20210716T081530Z/Resource: -10235762353432345231/" "gs://takeout-export-.../20210716T081530Z/Resource -10235762353432345231/"
但这失败了:
AccessDeniedException: 403 ...@... does not have storage.objects.create access to the Google Cloud Storage object.
我想我没有权限修改数据导出文件。
作为管理员,我需要了解哪些知识才能访问 Google Workspace 数据导出?
答案1
我也曾为此苦苦挣扎,并经历了与您相同的所有步骤。我希望 Google 能将他们的命名协议更改为与 Windows 兼容。如果您有自己的付费云帐户,您可以复制并重命名被禁止的文件名,但您无法在外卖存储桶中执行此操作,因为您无法自己写入任何内容。
我的解决方案最终是通过 WSL2 安装 Linux 发行版,使用 gsutil 下载,重命名坏文件夹,然后复制到 Windows 可访问存储中。
答案2
我已经通过 gsutil 下载了工作区备份很长时间了,但如果我没记错的话,“Resource”文件夹是用于共享驱动器内容的。
我使用以下命令下载所有正常内容:
gsutil -m rsync -r -x '^Resource*' gs://takeout-export-Unique-ID/Folder_Name/ “C:/Path_to_local_folder“
还有我单独做的“资源”内容。
尽管如此,我不明白为什么谷歌不简单地提供一个正常的下载链接,而不需要单独的工具。或者至少使用一个不会给目标操作系统带来麻烦的命名模式。