快速从多个文件夹下的特定文件夹提取相同类型的文件

有时候需要把一个文件夹下的多个文件夹里面特定文件夹的文件汇总到一个文件夹,该方法可解决,编程新手,欢迎大佬提供建议,简化代码,感觉多次遍历能简化。

该方法是本人需要从笔记文件里面提取md文件而写的,适应面不广,第一次发博,欢迎大家批评指正。

import shutil
from os.path import join
from os import listdir

# path 就是我们要查找的文件的上两级目录
# new_dirs 就是我们最后要把文件保存的目录(必须先创建)
# target_dirs 就是文件所在文件夹的名称
path = input('输入绝对路径:(需移动文件的上!两!级目录)')
new_dirs = input('输入要保存至的新绝对路径:')
target_dirs = input('文件存储所在文件夹名:')
file_type = input('文件类型:')

def fast_copy(path,new_dirs,target_dirs,file_type):
    # 把目录下的文件名变为列表
    tool_dirs = listdir(path)
    # 再以小见大,遍历,从一个文件夹去思考操作
    for first_dirs in tool_dirs:
        print(first_dirs)
        # 定义进一步的路径
        path_deeper = path + '\\' +first_dirs
        # 将进一步目录下的文件名变为列表,然后遍历查找最终的目的文件夹
        deeper_dirs = listdir(path_deeper)
        for ojbk_dirs in deeper_dirs:
            # 找到最终文件夹,并且定义最终路径
            if ojbk_dirs == target_dirs:
                finally_dir = path_deeper + '\\' + target_dirs
                print(finally_dir)
                for file
批量提取多个文件夹中的文件到一个文件夹,有多种实现方式,不同操作系统和文件类型的处理方式有所不同: - **Windows系统提取特定类型文件**:若要提取多个文件夹下的某类文件(如pdf文件)到指定文件夹,可先选中这些文件夹,在右上角文本框输入文件扩展名(如“.pdf”),操作系统(如win7旗舰版)会自动罗列所有符合条件的文件,之后选中这些文件,复制到指定文件夹即可[^2]。 - **Windows系统使用Bat脚本提取文件**:将bat文件和要提取文件的子文件夹放在同一文件夹中,双击bat文件。以下脚本可将当前目录下文件夹内的文件提取到指定路径(指定路径为D:\A_Dpan\1,可按需修改,但路径中不能有中文,子文件夹名称最好无中文括号): ```batch for /f "delims=" %%p in ('dir /b/ad') do copy %%p\*.* D:\A_Dpan\1 ``` - **Linux系统提取特定文件**:在Linux系统中,若要从多个文件夹提取特定文件并移动到新的、具有单一文件结构的文件夹中,可使用如下脚本: ```bash #!/bin/bash # 目标文件夹基础路径 base_path="/seu_share/home/chaojie/230218989/20240120_olp/03_cellranger_counts" # 新的目录路径 new_base_path="/seu_share/home/chaojie/230218989/20240120_olp/04_html" # 创建新的目录结构 mkdir -p "$new_base_path" # 复制文件 for folder in Healthy01 Healthy02 OLP01 OLP02 OLP03 OLP04; do mkdir -p "$new_base_path/$folder" cp "$base_path/$folder/outs/web_summary.html" "$new_base_path/$folder/" done ``` - **从多个文件夹提取相应数量文件合并**:若要从多个文件夹里各提取相应数量的文件放到新文件夹中形成多文件夹组合,可使用特定工具(百度 密码:qwu2;蓝奏云 密码:2r1z )。手动建立一个“合并”文件夹,里面创建一定数量空文件夹并批量重命名。打开工具,切换到文件批量复制模块(快捷键Ctrl + 5),添加文件夹里的全部文件到“来源路径”,设置“终点路径”,点开“更多”,找到“平均复制”并勾选,开始执行。从多少个文件夹提取文件,就执行几次该操作,提取文件数量根据分母来确定建立的空文件夹数量[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值