为什么要用这种方式进行迁移

这种方式可以绕过 Google Takeout,并且无需把网盘文件下载到本地,就能实现账号到账号的文件迁移。

第一步,文件共享

  1. 登录源账号,在 Google Drive 中新建一个文件夹数据搬迁,右键,共享,添加目标 Google 账号,并赋予「编辑者」权限。
  2. 将需要迁移的文件全部移动到数据搬迁文件夹中。

第二步,用快捷方式建立挂载通道

登录目标账号,在 Google Drive 「与我共享」中找到刚才共享的数据搬迁文件夹。右键,整理,添加快捷方式,目标选择「我的云端硬盘」。 如果不进行这一步,迁移程序将无法找到「与我共享」中的源路径

第三步,在 Google Colab 中运行 Python 迁移代码

目标账户deng 登录 Google Colab ,新建一个笔记本,将以下 Python 代码粘贴到代码块中并运行:

from google.colab import drive
import os
 
# 1. 挂载(如果刚才挂载过,这步会很快)
drive.mount('/content/drive', force_remount=True)
 
# 2. 定义路径
# 现在源路径变成了你“我的云端硬盘”里的那个快捷方式
source_path = '/content/drive/My Drive/数据搬迁' 
target_path = '/content/drive/My Drive/迁移数据接收'
 
if not os.path.exists(target_path):
    os.makedirs(target_path)
 
print("正在通过快捷方式穿透到共享硬盘进行物理克隆...")
 
# 3. 使用 Python 的高级文件操作,比 cp 命令更兼容快捷方式
import shutil
 
def deep_copy(src, dst):
    for item in os.listdir(src):
        s = os.path.join(src, item)
        d = os.path.join(dst, item)
        if os.path.isdir(s):
            print(f"正在复制文件夹: {item}")
            shutil.copytree(s, d, dirs_exist_ok=True)
        else:
            shutil.copy2(s, d)
 
try:
    deep_copy(source_path, target_path)
    print("\n[🎉 成功] 所有文件已克隆至个人硬盘,且所有权已变更!")
except Exception as e:
    print(f"\n[❌ 失败] 报错信息: {e}")

开始运行后会提示需要登录账号授权,都同意。

目标账号 Google Drive 中会自动创建迁移数据接收文件夹,并把数据搬迁文件夹的所有文件复制到迁移数据接收文件夹中。而源账号下的原始文件将依然保留,不会被删除。

大功告成!

🔗 关联追踪

  • See also: