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

如何从多层嵌套文件夹中按条件批量复制指定CSV文件

批量提取指定CSV文件的高效实现方案

以下方案均不需要手动逐个文件夹操作,1分钟内即可完成全部复制工作,根据自己的系统选对应的方法即可。

方案1:Windows系统 原生命令实现(无需安装额外软件)

  • 先在main文件夹的同级位置新建一个空文件夹,命名为csv_output(名字可自行修改)
  • 打开main文件夹所在的目录,点击顶部地址栏,输入cmd后按回车,会直接弹出定位到当前路径的命令提示符窗口
  • 把下面的命令粘贴到窗口里按回车执行即可:
for /d %i in (main\main_*) do @copy "%i\a1.csv" csv_output\ & @copy "%i\b2.csv" csv_output\ & @copy "%i\c3.csv" csv_output\
  • 如果不同子文件夹里的同名CSV内容不同,为了避免覆盖丢文件,用下面的命令,复制后的文件会自动带上所属子文件夹的前缀(比如main_1_a1.csv):
for /d %i in (main\main_*) do @copy "%i\a1.csv" "csv_output\%~ni_a1.csv" & @copy "%i\b2.csv" "csv_output\%~ni_b2.csv" & @copy "%i\c3.csv" "csv_output\%~ni_c3.csv"

方案2:macOS/Linux系统 终端命令实现

  • 先打开终端,通过cd命令进入main文件夹所在的上级目录
  • 执行mkdir -p csv_output新建用来存结果的空文件夹
  • 执行以下命令完成批量复制:
find ./main -type f \( -name "a1.csv" -o -name "b2.csv" -o -name "c3.csv" \) -exec cp {} ./csv_output/ \;
  • 同样需要避免同名覆盖的话,用这个命令,自动给文件加子文件夹前缀:
find ./main -type f \( -name "a1.csv" -o -name "b2.csv" -o -name "c3.csv" \) -exec sh -c 'cp "$0" "./csv_output/$(basename $(dirname $0))_$(basename $0)"' {} \;

方案3:全平台通用Python脚本(适合对命令行不熟悉的用户)

只要电脑装了Python环境,不管什么系统都能用,逻辑透明不容易出错:

  • 在main文件夹的同级位置新建一个名为copy_task.py的文件,把下面的代码粘贴进去保存:
import os
import shutil

# 可根据自己的实际需求修改配置
SOURCE_FOLDER = "main"
OUTPUT_FOLDER = "csv_output"
NEED_EXTRACT = {"a1.csv", "b2.csv", "c3.csv"}
ADD_SUBFOLDER_PREFIX = True  # 设为False则保留原文件名,可能出现覆盖

os.makedirs(OUTPUT_FOLDER, exist_ok=True)

for subfolder in os.listdir(SOURCE_FOLDER):
    sub_path = os.path.join(SOURCE_FOLDER, subfolder)
    if not os.path.isdir(sub_path):
        continue
    for file in os.listdir(sub_path):
        if file in NEED_EXTRACT:
            src = os.path.join(sub_path, file)
            dst_name = f"{subfolder}_{file}" if ADD_SUBFOLDER_PREFIX else file
            dst = os.path.join(OUTPUT_FOLDER, dst_name)
            shutil.copy2(src, dst)
            print(f"复制完成: {src} → {dst}")
  • 在当前目录打开终端/命令提示符,执行python copy_task.py即可,运行过程中会打印所有复制成功的文件路径,方便核对。

注意:执行复制前先确认3个目标文件名的拼写完全正确,避免漏拷;如果不同子文件夹下存在同名但内容不同的CSV,务必开启前缀命名功能,防止文件被覆盖丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:48:13