有的时候,我们需要对存储位置具有一定规律的大量相似文件进行复制移动和重命名。例如,我最近使用labelme工具标注了一批图片数据,但是每个图片自己生成了一个文件夹。然而在使用的时候,要求所有的图片放在同一个文件夹,并且名字按照数字编号。这时候如果是自己手动操作,无疑会费时费力。使用批处理技术可以简单解决这个问题。本文使用的是Windows的批处理技术。

下面通过一个例子来说明。我们有这样一堆文件夹如下:

每个文件夹中都有这样几个使用其他工具生成的文件:

我们需要把每个文件夹中的img.png 和label.png 分别复制到imgs和masks文件夹中,并且重命名包含数字信息。

于是我们在这一推文件夹所在的同一个目录下,新建“imgs”和“masks”这两个文件夹,并新建一个名为“test.bat”的批处理脚本,脚本中的内容如下:

SETLOCAL ENABLEDELAYEDEXPANSION
SET /a x=0
FOR /r %%i IN (.) DO (
IF EXIST %%i\img.png (IF EXIST %%i\label.png ( SET /a x+=1XCOPY %%i\img.png imgs /y  REN "imgs\img.png" "img_!x!.png"XCOPY %%i\label.png masks /y REN "masks\label.png" "mask_!x!.png"))
)
ENDLOCAL
PAUSE

保存后,双击运行即可。上面的运行逻辑是这样的,首先找到当前路径的所有文件夹(包含当前文件夹和子文件夹),判断指定的文件是否存在,然后找到文件夹中的img.png和label.png,将它们分别使用xcopy命令拷贝到指定的imgs和maks文件夹,拷贝过去后再使用ren命令进行重命名。注意:命令行中命令、命令选项以及命令参数是不区分大小写的。

Windows批处理脚本实现批量复制文件并重命名相关推荐

  1. 批量用title的内容命名html文件,使用批处理批量复制文件并重命名

    使用批处理copy批量复制指定目录下(包括子目录)的老师,能否使用copy命令帮忙写个批处理实现以下功能: 复制指定目录下(包@echo off & title 备份文件 By 依梦琴瑶 :: ...

  2. 批处理命令批量复制文件并重命名

    工作中如果需要把一个文件复制成N个内容一样且名称不一样的文件,可以使用批处理命令实现 步骤如下: 1.如现有文件名称为:test001.ini 文件 2.创建一个文件名称列表 FileList.txt ...

  3. python复制文件到另一个文件夹并重命名_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  4. python查找文件并重命名_python复制文件并重命名

    标签:多个   file   请求   重命名   XML   基本   path   main   复制文件 def copy_files(path,newpath): #定义函数名称 old_na ...

  5. linux下复制文件并重命名,Linux 批量复制并重命名 和 批量复制文件到多个文件夹...

    先说linux下批量复制并重命名,其实就是个for循环 以txt文件为例 命令行打入(F为变量名,可任意) for F in *.txt ; do cp $F ${F%.txt}_1.txt;done ...

  6. 在Windows系统中,批量复制文件夹下所有或者部分文件的名称

    当在使用Windows系统中,需要批量复制某一个文件夹下所有或者部分文件的名称时,可以使用如下方法: 第一步:打开需要批量复制文件名称的文件夹: 第二步:在该文件夹下新建一个txt文件,然后将.txt ...

  7. python 复制并重命名文件_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  8. python 复制文件并重命名_好书推荐 | Python 如此神奇,让繁琐工作自动化

    优质文章,第一时间送达! Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart 的室友曾经只花了几个小时,就写出了一 ...

  9. python实现文件重命名_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

最新文章

  1. mysql数据写入不到数据库_主机无法写入数据到Mysql数据库
  2. 深到骨子里的自律,是每周坚持刷几篇最新论文 | PaperDaily #10
  3. VTK:可视化之CloseWindow
  4. verilog仿真——$test$plusargs 和 $value$plusargs
  5. 【C#】【引用加原创】C#实现kalman滤波
  6. linux设置组配置额步骤,linux 中磁盘配额设置
  7. TextBox设置ReadOnly属性后后台得不到值解决方法 [转]
  8. Visio2013安装教程
  9. 【单片机基础篇】共阴级四位数码管
  10. 互联网日报 | 1月14日 星期四 | 联想集团计划在科创板上市;荣耀官方自营商城正式上线;快手小程序平台开启公测...
  11. 业界 | 福布斯:2018年机器学习试点及实施数量将翻倍
  12. 作为SLAM中最常用的闭环检测方法,视觉词袋模型技术详解来了
  13. 故障模块名称: mso.dll
  14. 企业信用资质等级证书的办理流程
  15. 1264. 动态求连续区间和
  16. 正则表达式 “.*“匹配任意字符
  17. JN_0011:改变PPT的页面尺寸,并导出图片
  18. Git本地仓库与Github远程仓库关联
  19. 选择IT我不曾后悔?希望高人指点迷津
  20. html 弹出固定大小的页面,html弹出固定大小的窗口(HTML pops up a fixed size window).doc...

热门文章

  1. PAT日志 1086
  2. 计算机程序设计员技能试题,计算机程序设计员(基础知识程序设计员高级程序设计员程序设计师国家职业技能鉴定指导)...
  3. 打印DPI如何与计算机DPI一致,打印效果失真 你了解DPI与照片关系么?
  4. 经济应用文写作【2】
  5. 深入浅出用户认证鉴权---使用非对称加密算法加密登录
  6. 如何快速查看MCC竞价账户下子账户的剩余预算金额?
  7. LPDDR4 DRAM Memory Controller(Block Diagram)
  8. 3A级企业信用认证作用
  9. coap php 发送,如何使用coap协议向服务器发送数据包
  10. phpStorm MarkDown插件下载