macOS 移动微信3/4聊天数据到其他分区

一招释放数十GB空间,让系统盘不再告急

在 macOS 中,微信数据默认存储在以下路径:

~/Library/Containers/com.tencent.xinWeChat/Data

这个目录包含了你所有的聊天记录、图片、视频和文件。随着使用时间增长,这个文件夹可能会膨胀到几十GB甚至更大,严重占用系统盘空间。你可以将微信数据从系统盘迁移到其他分区或外接硬盘,有效释放宝贵的系统盘空间。符号链接技术让这一过程对微信应用本身是透明的,不会影响正常使用。

注意事项

  • 备份重要数据:在进行任何迁移操作前,建议先备份重要聊天记录
  • 外接硬盘格式:确保外接硬盘使用 macOS 兼容的文件系统格式(如 APFS、HFS+ 或 exFAT)
  • 微信更新:每次微信重大更新后,可能需要重新执行签名步骤

自动化迁移脚本

脚本怎么用就不多说了,若不懂,那建议你不要再继续操作。另外请注意:修改 /Volumes/YourPartition 为你的外置存储路径。

#!/bin/zsh
#
# 微信数据迁移 - 自动处理
#

TARGET=/Volumes/YourPartition/Library/com.tencent.xinWeChat
WECHAT=~/Library/Containers/com.tencent.xinWeChat/Data

# 获取微信版本
VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "/Applications/WeChat.app/Contents/Info.plist" 2>/dev/null | cut -d. -f1)

# 检查微信版本
if [[ -z "$VERSION" || ! "$VERSION" =~ ^[0-9]+$ ]]; then
    echo "错误: 无法获取微信版本信息"
    exit 1
fi
echo "检测到微信主版本: $VERSION"

# 确定数据目录
if [[ "$VERSION" -ge "4" ]]; then
    DATA_DIR="$WECHAT/Documents"
else
    DATA_DIR="$WECHAT/Library/Application Support/com.tencent.xinWeChat"
fi
echo "数据目录:$DATA_DIR"

# 处理数据目录
if [[ ! -d "$TARGET" ]]; then
    # 目标目录不存在,移动数据
    if [[ -d "$DATA_DIR" && ! -L "$DATA_DIR" ]]; then
        echo "移动数据到外置目录"
        mkdir -p "$(dirname "$TARGET")"
        sudo mv "$DATA_DIR" "$TARGET" || { echo "移动失败"; exit 1; }
    else
        mkdir -p "$TARGET"
        echo "创建目标目录: $TARGET"
    fi
elif [[ -d "$DATA_DIR" && ! -L "$DATA_DIR" ]]; then
    # 冲突处理
    echo "外置目录已存在,源目录仍有数据"
    echo "选择: [y] 删除源目录  [n] 退出 (默认n, 10秒超时)"

    read -t 10 -k 1 choice 2>/dev/null || choice="n"
    echo

    if [[ "$choice" =~ ^[Yy]$ ]]; then
        sudo rm -rf "$DATA_DIR" || { echo "删除失败"; exit 1; }
        echo "已删除源目录"
    else
        echo "保持当前配置,退出"
        exit 0
    fi
fi

# 创建符号链接
sudo ln -sf "$TARGET" "$DATA_DIR" || { echo "创建链接失败"; exit 1; }
echo "已创建符号链接: $DATA_DIR -> $TARGET"

# 签名应用
echo "正在签名微信应用..."
sudo codesign --sign - --force --deep /Applications/WeChat.app || { echo "签名失败"; exit 1; }

echo "微信配置完成"

验证迁移结果

迁移完成后,可以通过以下方式验证是否成功:

  • 启动微信,检查聊天记录是否完整

  • 发送和接收测试文件,确认新文件存储位置

  • 如有问题,检查符号链接状态和存储目录权限

sudo chown -R $USER <你的外置存储路径>
文章作者: 若海; 原文链接: https://www.rehiy.com/post/604/; 转载需声明来自技术写真 - 若海

添加新评论