精易论坛

标题: 如何使用多线程全盘查找一个名叫"备份"的文件夹 [打印本页]

作者: pimixixi    时间: 2024-11-6 22:00
标题: 如何使用多线程全盘查找一个名叫"备份"的文件夹
如何使用多线程全盘查找一个名叫"备份"的文件夹,如果找到的“备份”文件夹中有一个名叫"采购计划.txt"的文件,则“备份”文件夹不管他,保留,如果找到的“备份”文件夹中没有名叫"采购计划.txt"文件,则这个叫“备份”文件夹删除

作者: Suky    时间: 2024-11-6 22:10
先搜索所有盘符
再按盘符数量分线程启动搜索
再按根目录文件数量启动搜索
……

作者: pimixixi    时间: 2024-11-6 22:31
Suky 发表于 2024-11-6 22:10
先搜索所有盘符
再按盘符数量分线程启动搜索
再按根目录文件数量启动搜索

.版本 2

.支持库 EThread

.程序集 窗口程序集1

.子程序 _按钮1_被单击
    局部变量 线程数组, 线程对象,, "0"
    局部变量 磁盘数组, 文本型,, "0"
    局部变量 磁盘索引, 整数型

    磁盘数组 = 取磁盘列表 ()
    磁盘索引 = 0
    循环判断首 ()
        加入成员 (线程数组, 创建线程 (&搜索磁盘线程, 磁盘数组 [磁盘_index]))
        磁盘_index = 磁盘_index + 1
    循环判断尾 (磁盘_index < 取数组成员数 (磁盘数组))

   .计次循环首 (取数组成员数 (线程数组), )
        线程数组 [索引].启动 ()
   .计次循环尾 ()
   .判断循环首 (真)
        局部变量 找到标志, 逻辑型
        找到标志 = 假
       .计次循环首 (取数组成员数 (线程数组), )
            如果真 (线程数组 [索引].取返回值 ())
                找到标志 = 真
                跳出循环 ()
            如果真结束
       .计次循环尾 ()
        如果真 (找到标志)
            信息框 (“找到文件夹 备份”, 0, )
           .计次循环首 (取数组成员数 (线程_array), )
                线程_array [索引].销毁 ()
           .计次循环尾 ()
            跳出循环 ()
        如果真结束
   .判断循环尾 ()
作者: pimixixi    时间: 2024-11-6 22:31
pimixixi 发表于 2024-11-6 22:31
.版本 2

.支持库 EThread

没办法呀
作者: pimixixi    时间: 2024-11-6 22:35
Suky 发表于 2024-11-6 22:10
先搜索所有盘符
再按盘符数量分线程启动搜索
再按根目录文件数量启动搜索

.版本 2
.支持库 EThread
.程序集 窗口程序集1

' 线程函数,用于在指定磁盘查找和处理“备份”文件夹
.子程序 查找备份文件夹线程, 逻辑型
    局部变量 当前目录, 文本型
    局部变量 文件夹名, 文本型
    局部变量 子文件夹数组, 文本型,, "0"
    局部变量 子文件夹索引, 整数型
    局部变量 文件数组, 文本型,, "0"
    局部变量 文件索引, 整数型
    当前目录 = 线程参数
    改变目录 (当前目录)
    文件夹名 = 取文本右边 (取当前目录 (), 取文本长度 (取当前目录 ()) - 倒找文本 (取当前目录 (), “\”,, 假))
    ' 找到“备份”文件夹
    如果真 (文件夹名 = “备份”)
      .如果真 (寻找文件 (“采购计划.txt”, ) = “”)
            删除目录 (当前目录, 真)
      .如果真结束
    如果真结束
    ' 递归查找子文件夹
    子文件夹数组 = 取目录下所有子目录 (当前目录)
    子文件夹索引 = 0
    循环判断首 ()
        查找备份文件夹线程 (当前目录 + “\” + 子文件夹数组[子文件夹索引])
        子文件夹索引 = 子文件夹索引 + 1
    循环判断尾 (子文件夹索引 < 取数组成员数 (子文件夹数组))
    返回 (假)
.子程序 _按钮1_被单击
    局部变量 磁盘数组, 文本型,, "0"
    局部变量 线程数组, 线程对象,, "0"
    局部变量 磁盘索引, 整数型
    磁盘数组 = 取磁盘列表 ()
    磁盘索引 = 0
    循环判断首 ()
        加入成员 (线程数组, 创建线程 (&查找备份文件夹线程, 磁盘数组[磁盘索引] + “:\”))
        磁盘索引 = 磁盘Index + 1
    循环判断尾 (磁盘Index < 取数组成员数 (磁盘数组))
    磁盘Index = 0
    循环判断首 ()
        线程数组[磁盘Index].启动 ()
        磁盘Index = 磁盘Index + 1
    循环判断尾 (磁盘Index < 取数组成员数 (线程Array))

作者: 凌哥    时间: 2024-11-6 23:49
https://gitee.com/a1027663760/EC ... E6%96%87%E4%BB%B6.e
作者: xiaoliamg    时间: 2024-11-7 01:36
我来看看学习一下
作者: 凉冰粉    时间: 2024-11-7 03:20
你需要一个叫《Everything》的软件
作者: aiso    时间: 2024-11-7 08:30
你需要一个叫《Everything》的软件
作者: yiwai2012    时间: 2024-11-7 12:07
投票投票 领金币
作者: yiwai2012    时间: 2024-11-7 12:08
可以考虑使用软件 搜索速度很快
作者: yiwai2012    时间: 2024-11-7 12:09
你需要一个叫《Everything》的软件
作者: yiwai2012    时间: 2024-11-7 12:09
第四次了 希望能找到满意答案
作者: yiwai2012    时间: 2024-11-7 12:11
个人感觉5楼大佬的方法就很好
作者: pimixixi    时间: 2024-11-7 19:09
Suky 发表于 2024-11-6 22:10
先搜索所有盘符
再按盘符数量分线程启动搜索
再按根目录文件数量启动搜索

能帮写一下吗

作者: Suky    时间: 2024-11-7 19:27
pimixixi 发表于 2024-11-7 19:09
能帮写一下吗

6楼别人给你写好了
作者: pimixixi    时间: 2024-11-7 21:51
凌哥 发表于 2024-11-6 23:49
https://gitee.com/a1027663760/EC/blob/master/%E4%BE%8B%E7%A8%8B_%E5%A4%9A%E7%BA%BF%E7%A8%8B%E5%85%A8 ...

确实不错,很有启发,
作者: 网络注册络员    时间: 2024-11-9 18:52
领金币领金币
作者: 770935901    时间: 2024-11-18 14:00
我来领金币
作者: gaoqing    时间: 2024-11-19 09:57
我来领金币
作者: 网络注册络员    时间: 2024-11-19 18:31
我来领金币
作者: fengyewl    时间: 2024-11-24 17:13
我来领金币
作者: huanjushidai    时间: 2024-12-29 18:16
6666666666666666666666
作者: opphk    时间: 2025-1-1 18:03
666666666
作者: h1003591791    时间: 2025-1-2 15:32
666666666666
作者: 重现江湖    时间: 2025-1-15 22:22
回复本帖可获得 1 枚 精币奖励! 每人限 5 次

作者: 重现江湖    时间: 2025-1-16 02:18
回复本帖可获得 1 枚 精币奖励! 每人限 5 次

作者: tonc    时间: 2025-1-18 10:48
这思路挺巧妙哈,用多线程效率高,不过代码得调试好,不然容易出错呢。
作者: xkAnd    时间: 2025-1-29 10:15
[内容由于不合规被停止生成,我们换个话题吧]
作者: lassgo    时间: 2025-2-1 13:15
这方法挺巧妙的,不过多线程查找会不会很占电脑资源啊,要是电脑卡成狗就尴尬了呢。
作者: lxn2wyf    时间: 2025-2-2 06:18
这思路挺有意思的,不过多线程查找文件夹,代码得写得稳一点,不然容易乱套呢。
作者: hutao1    时间: 2025-2-2 06:48
我来领金币
作者: 835677762    时间: 2025-2-3 05:40
666666666666666666666
作者: lao4jiadian    时间: 2025-2-3 08:09

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: lao4jiadian    时间: 2025-2-3 08:10

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: lao4jiadian    时间: 2025-2-3 08:10

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: lao4jiadian    时间: 2025-2-3 08:10

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: lao4jiadian    时间: 2025-2-3 08:10

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: 网络注册网员    时间: 2025-2-12 18:45
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: 网络注册网员    时间: 2025-2-12 18:45
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: huwu    时间: 2025-2-22 02:45
网络注册网员 发表于 2025-2-12 18:45
回复本帖可获得 1 枚 精币奖励! 每人限 5 次

学学习习
作者: huwu    时间: 2025-2-22 02:45
835677762 发表于 2025-2-3 05:40
666666666666666666666

66666666666666666666666666666666
作者: eklove    时间: 2025-2-22 11:25
这思路挺有意思啊,不过多线程查找文件夹,还得判断文件,感觉代码量不小呢。
作者: a605889003    时间: 2025-3-5 17:49
回帖有奖励,谢谢老板
作者: hnpjxsw    时间: 2025-3-6 08:50
#回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: 时创智联    时间: 2025-4-7 20:49

作者: 风过无痕123    时间: 2025-4-8 12:05
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: q1224568236    时间: 2025-5-14 13:47
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: q1224568236    时间: 2025-5-14 13:47
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: 15158930038    时间: 2025-5-26 16:14
感谢分享
作者: wanglei88888    时间: 2025-6-10 18:30
66666666666666666666666666666666666666
作者: welking    时间: 2025-6-11 12:46
还有?????
作者: welking    时间: 2025-6-11 12:47
回帖有奖励,谢谢老板
作者: welking    时间: 2025-6-11 12:47
回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: welking    时间: 2025-6-11 12:48

作者: welking    时间: 2025-6-11 12:49

回复本帖可获得 1 枚 精币奖励! 每人限 5 次
作者: clearlove    时间: 2025-7-5 22:55
目录_枚举子目录




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4