首页 > 其他分享 >如何批量复制多个文件到多个目录中(提取匹配法)

如何批量复制多个文件到多个目录中(提取匹配法)

时间:2024-05-13 12:07:56浏览次数:10  
标签:提取 多个 批量 文件夹 复制 规则 命名 png 数字

首先,需要用到的这个工具:

度娘网盘

提取码:qwu2

蓝奏云

提取码:2r1z


具体操作
1、情景再现

我这里创建了3个数字命名的文件夹和一些带有数字命名的图片文件。
(这里仅做演示作用,实际操作的数量肯定巨大。)

观察一下发现,图片分2种命名:一种是'数字.png',另一种是'-数字.png',前面带个了'-'

实际可能会N个数字+符号+中文的组合命名方式,但无论何种方式,总是按照一定的规则命名
那现在,怎么做到“把带有相同数字的文件(夹)放到带有相同数字的文件夹内”呢?

下面操作

2、打开工具,Ctrl+5切换到“文件批量复制”版块

把全部E:\04文件夹里的全部文件拖到上面,再把文件夹拖到下面

3、点击“按命名匹配复制”,弹出规则

规则上面有演示效果,先设定规则,再点最大的按钮,就能查看根据自己设定的规则会怎么进行提取,一目了然

我们先把“-数字.png”的图片复制到带有对应数字的文件夹里,

那么,规则里面,图片的规则就是

仅从文件名提取,按长度,从左到右,从'-'开始提取1位内容的长度,并不包括'-'

'-1.png'提取出的匹配词就是'1'了

文件夹的规则就简单了

仅从文件夹名提取,按长度,从左到右,从1个字符开始的第1个内容

'1'自然就只能提取出'1'了

那么,来源的内容=终点的内容,这样文件就能把“-数字.png”的图片复制到带有对应数字的文件夹里

下一步按下“确定全部规则设置”

4、准备开始让工具自己匹配复制到指定目录里,点下“开始复制”

弹出提示,确定当前进行的操作,避免在操作上百上千上万文件时搞错,所以这里看一下提示,确定了,我们继续

5、来看一下操作后的结果

三个文件夹里面,都是自带符合'-数字.png'的图片文件,没有带'-'符合的图片15、16就没有复制进去

6、如果是为了过滤掉带'-'的图片,就提取第1位文字内容来匹配的话,就默认设置就行

按这个设置执行后的结果就是

当然规则还有很多设置方式,比如文件命名是"xxxx(第1号)xxx.doc"文件,命名里面的规律是带括号的

然后要复制到的终点文件夹也是按带'()'的进行命名,那么我们可以用“按范围提取”的方式来操作,就截取括号范围内的内容来做匹配

这个规则的设定方法还是能覆盖大部分的情况和需求,自然会比自己手动复制更高效的多

具体的情况要根据实际分析,找到规律和共同特点来操作,会提高很多效率

标签:提取,多个,批量,文件夹,复制,规则,命名,png,数字
From: https://www.cnblogs.com/Nathan-Young/p/18188965

相关文章

  • kettle从入门到精通 第五十九课 ETL之kettle 邮件发送多个附件,使用正则轻松解决
    问题场景:一个朋友说他用kettle将生成好的多个文件(a.xls和b.xls,文件在data目录下)发送给客户,但是data目录下还有其他的文件,他如果指定data目录发送会把data目录下面的所有文件都作为附件进行发送,显然不符合要求,所以他当时的临时解决方法是创建个临时目录,里面只放a.xls和b.xls两个......
  • .net core 实现注册同一服务类型的多个服务实例
    1.注册服务。给IMyDependency注册两个不同的实现。builder.Services.AddSingleton<IMyDependency,MyDependency>();builder.Services.AddSingleton<IMyDependency,DifferentDependency>();2.依赖注入。通过 IEnumerable<IMyDependency>获取两个不同的实现,这里会按注......
  • redis之主从复制
     1.基本环境(1) Lunixcentos7(2) redis版本:redis7.0.0(3) gcc已经配置成功,并且默认redis7.0.0环境已经在linux中做好了2.架构说明(1) 一个master两salve (方便期间配置好一个后,其他两个配置文件修改即可)① Master:10.0.0.18 6379......
  • 如何同时或者按顺序间隔启动多个程序
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、打开工具,切换到定时器模块,快捷键:Ctrl+3 2、新建一个定时器,我这里演示同时打开多个程序(比如同时启动多个QQ,或者多个微信等),那就把单次数量提高,如果想每次执行这个定时器里面的3个事件,那单次数量就是写3,我......
  • java MySQL的in查询两个字段同时相等的多个数据查询
    在Java中想进行下面的查询,不想写循环一条条查selectid,name,address,age fromuserswherename='A' and address='addr1'selectid,name,address,age fromuserswherename='B' and address='addr2'selectid,name,address,age fromusers......
  • Teleport Pro是最好用的网站复制
    离线浏览器teleport——抓取网站的利刃 TeleportPro是最好用的网站复制,网站拷贝,网站镜像,网站离线浏览,网站下载的工具。TeleportPro完全教程:一、TeleportPro简介相信许多人已经深深地感受过互联网的“魅力”,漫长的等待时间,加上昂贵的通讯费用,实在让人不得不放弃互......
  • 智能工作流:Spring AI高效批量化提示访问方案
    基于SpringAI搭建系统,依靠线程池\负载均衡等技术进行请求优化,用于解决科研&开发过程中对GPT接口进行批量化接口请求中出现的问题。github地址:https://github.com/linkcao/springai-wave大语言模型接口以OpenAI的GPT3.5为例,JDK版本为17,其他依赖版本可见仓库pom.xml拟解决的问题......
  • 使用Git bash切换Gitee、GitHub多个Git账号
    使用Gitbash切换Gitee、GitHub多个Git账号​ Git是分布式代码管理工具,使用命令行的方式提交commit、revert回滚代码。这里介绍使用Gitbash软件来切换Gitee、GitHub账号。​ 假设在gitee.com上的邮箱是[email protected]、用户名为alice;在github上的邮箱是[email protected]、......
  • js 复制内容及图片
    //复制纯文本asynccopyText(str){try{//将链接复制到剪贴板注意访问id环境下不可用awaitnavigator.clipboard.writeText(str);this.$Message.success("复制成功");}catch(err){//如果复制失败,处理错误/......
  • Shell--批量删除指定目录下,带不同后缀名的文件
    文件根目录在 /home/service/app/sre/*/release 下,*表示一个目录,目录名不固定,文件后缀有多种,如:./data/dict/gc_app/gc_app.i2i*./data/dict/gc_app/gc_app.consociation_appid...脚本:#!/bin/bash#定义要删除的文件根路径base_dir="/home/service/app/sre/"#获取......