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

如何用gsutil或命令行将多子文件夹文件迁移至单个文件夹?

使用gsutil或本地命令行实现无层级移动文件

一、针对Google Cloud Storage(GCS)的gsutil方案

如果你的文件夹位于GCS存储桶中,可通过以下命令完成移动:

  1. 核心移动命令(并行处理提速)
gsutil -m mv gs://<你的存储桶名>/Total/*/* gs://<你的存储桶名>/Total2/

这条命令会将Total下所有子文件夹(001至300)内的所有文件,直接移动到Total2目录下,不保留原层级结构。-m选项启用并行操作,适合大量文件场景。

  1. 清理空的源子文件夹
    移动完成后,Total下的子文件夹会变为空目录,可执行以下命令删除:
gsutil rm -r gs://<你的存储桶名>/Total/00*

通配符00*精准匹配001到300的子文件夹。

二、针对本地文件系统的命令行方案(Linux/macOS)

如果是本地目录,用find结合mv实现:

  1. 核心移动命令
find ./Total -type f -exec mv -t ./Total2 {} +
  • find ./Total -type f:遍历Total下所有文件(排除目录)
  • -exec mv -t ./Total2 {} +:将找到的所有文件批量移动到Total2目录
  1. 清理空的源子文件夹
    移动完成后删除空目录:
find ./Total -type d -empty -delete

注意事项

  • 重名文件处理:如果不同子文件夹内有同名文件,移动时会直接覆盖。提前检查重名文件的命令:
    • GCS:gsutil ls gs://<你的存储桶名>/Total/*/* | awk -F/ '{print $NF}' | sort | uniq -d
    • 本地:find ./Total -type f -printf "%f\n" | sort | uniq -d
      找到重名文件后,可先重命名再执行移动操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:33:17