批量修改文件名

本文介绍了如何通过bat脚本批量处理文件,提取所有文件名,将日期信息插入并重命名文件,以实现对S2A/S2B卫星影像数据的按时间顺序整理。详细步骤包括提取文件名、Excel辅助修改和使用bat执行批量重命名。
摘要由CSDN通过智能技术生成


前言

在进行数据处理时,常常设计多个图像或文本数据的批量处理,这些图像或文本可能来自于其他地方,有着特殊的命名规则,出于某种需求的考虑,我们可能需要对文件进行重命名(如给每个文件加上编号或者把日期信息写到文件名以便更好的对文件进行排序和处理),面对大量文件时,批量的方法就可以省不少时间


一、问题背景与目的

通过其他软件对数据进行批量处理后,我得到了如下一系列的文件,下图中的文件名包含两个信息:卫星ID(S2A/S2B)和影像获取日期(xx年xx月xx日),当前文件按S2A/S2B的顺序排列,为了对数据进行时间序列的处理,需要对影像文件按获取日期排列,其中一种方法就是将日期信息放到文件名开头部分。

二、操作步骤

1.提取所有文件名

首先创建一个txt文件,命名随意,如extractname.txt

在extractname.txt 中输入如下语句

DIR *.* /B> namelist.txt

并将extractname.txt的后缀改为bat
双击运行extractname.bat文件,执行代码之后,就将该文件夹下的所有文件名写入了namelist.txt文件中,可以打开namelist.txt查看。
在这里插入图片描述
注意:这里不仅读入了所有tif的文件名,同时将新生成的bat和txt文件名也读入了。

2.复制所有文件名到excel中进行修改

我们将要修改的文件名复制到excel中A列

并在B列中输入

=MID(A1,19,8)&MID(A1,8,3)&".tif"

B列中即会出现我们需要的修改后的文件名
在这里插入图片描述

3.通过bat批量对文件进行批量重命名

bat中语句

REN name1 name2

可将文件名从 name1 改为 name2,为此,我们将 REN name1 name2 也在excel中批量写好直接复制
在 excelC 列中输入

="REN "&A1&" "&B1

即可得到所有的语句
在这里插入图片描述
在文件夹中新建 correct.txt 并将excel C列中的语句全部复制写入
并将correct.txt 后缀改为bat,双击运行即可将所有文件名改名
在这里插入图片描述
修改后文件的命名方式即为“XXXX(年)XX(月)XX(日)” + “S2A/B”


注意要点

各语句中的空格要注意,漏掉可能会运行报错

有其他问题欢迎交流!~

参考来源:https://zhuanlan.zhihu.com/p/139651864

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值