You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否对AWS S3存储桶文件执行批量查找替换式重命名?

我完全懂这种反复跳回列表开头的痛苦——手动改几百个文件简直是折磨!下面给你几个高效的批量重命名方案,再也不用跟页面跳转较劲:

方案1:使用AWS CLI批量处理(最稳定高效)

S3本身没有“重命名”的原生操作,本质是复制到新路径+删除原文件,用CLI可以一键批量完成:

  1. 先确认目标文件范围(替换成你的桶名和旧前缀):
aws s3 ls s3://your-bucket-name/ --recursive | grep "your-old-prefix"

这条命令会列出所有带指定前缀的文件,确保没选错范围。

  1. 运行批量处理脚本(保存为.sh文件,替换变量后执行):
#!/bin/bash
# 替换成你的桶名、旧前缀、目标年份
BUCKET="your-bucket-name"
OLD_PREFIX="original-prefix-"
NEW_PREFIX="2024-"

# 遍历符合条件的文件,批量复制+删除
aws s3 ls s3://$BUCKET/ --recursive | grep "$OLD_PREFIX" | while read -r line; do
    # 提取完整文件路径
    FILE_PATH=$(echo "$line" | awk '{print $4}')
    # 替换前缀生成新路径
    NEW_FILE_PATH=$(echo "$FILE_PATH" | sed "s/^$OLD_PREFIX/$NEW_PREFIX/")
    # 复制文件到新路径(先测试这一步,确认新文件名正确)
    aws s3 cp s3://$BUCKET/$FILE_PATH s3://$BUCKET/$NEW_FILE_PATH
    # 确认复制无误后,取消下面一行的注释来删除原文件
    # aws s3 rm s3://$BUCKET/$FILE_PATH
done

提示:先执行复制步骤,验证新文件名符合预期后,再启用删除操作,避免误删文件。

方案2:用S3控制台批量操作(无需写代码)

如果不想碰命令行,S3控制台自带的批量操作功能也能搞定:

  • 步骤:
    1. 打开S3控制台,进入目标存储桶
    2. 点击顶部的批量操作 → 创建任务
    3. 在「选择对象」环节,用「前缀过滤」输入你的旧前缀,筛选出所有需要修改的文件
    4. 在「选择操作」环节,选择复制对象,然后在「目标键」中使用变量替换:
      比如原文件键是${key},输入2024${key#original-prefix-}(${key#旧前缀}会自动截取前缀后的部分,拼上年份)
    5. 完成配置后,先运行测试任务验证结果,没问题再执行全量任务
    6. 最后可以再创建一个批量删除任务,过滤旧前缀的文件,清理原文件
方案3:优化第三方S3浏览器的使用

如果坚持用第三方S3浏览器,试试找工具的批量重命名/批量替换功能:

  • 很多工具支持选中所有目标文件后,统一执行“前缀替换”操作,一次性提交所有修改,不会逐个保存跳回列表
  • 操作时尽量用“批量选择”(比如按前缀筛选后全选),避免手动逐个点击

内容的提问来源于stack exchange,提问作者Katelyn McBride

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:33:07