bat批处理修改文件夹下文件名字

业务场景

有时候我们经常会遇到需要批量处理一些文本或者文件名称的问题,批量文本的处理可以使用notepad++ 里面的列编辑,或者批量替换字符串即可。假如有这样一个要求,某个文件夹下有多个文件,他们文件名字组成:有不同的前缀+时间(如下图),我们经常需要替换文件名中的日期以达到业务需求。

解决办法

①,一个一个重命名

​ 费时费力,如果文件达到一个数量级,效率低下,容易出错。

②,使用Excel +bat命令

原理 就是通过Excel 获取 xx 文件夹 下文件名字 然后 通过 ren 命令 重命名 (不明白,自行问度娘)


③,用第三方工具

​ 菲菲更名宝贝之得意非凡,缤纷批量修改文件名,拖把更名器 等,功能都比较强大,大家可以自行下载研究,软件的缺点就是占用空间,打开麻烦等。。。

④,bat批处理

如果大家对bat比较熟悉,建议手动写一个bat批处理,这样比较有成就感,灵活性高。

@echo off
setlocal enabledelayexpansion
set /p oldDate= 请输入原字符串:
set /p targetDate= 请输入替换的字符串:
echo 要替换成的字符串为: %targetDate%for /f "token=*" %%a in ('dir /b /a-d *%oldDate%*') do (set "oldName=%%a"set "newName=!oldName:%oldDate%=%targetDate%!"ren "!oldName!" "!newName!"
)
echo 修改完成!pause

注意: bat文件编码格式请保存为gb2312 防止控制台中文乱码

这段批处理脚本的作用是在当前目录下将所有包含指定子字符串 oldDate 的文件名替换为 targetDate

首先使用 set /p 命令获取用户输入的原字符串和要替换成的字符串,分别存储在 oldDatetargetDate 变量中。由于要在循环中进行变量替换,因此启用了 enabledelayexpansion 选项。

接着,使用 for 命令遍历当前目录下所有不是目录的文件,并将文件名存储在 %%a 变量中。通过 set 命令将文件名赋值给 oldName 变量,并使用 ! 符号进行延迟变量替换,即将 %oldDate% 替换为 %targetDate%,并将结果赋值给 newName 变量。

最后,使用 ren 命令将文件名从 oldName 修改为 newName,这样就完成了批量替换操作。

需要注意的是,在执行该脚本之前,请确保所在目录下没有相同名称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。

称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。

bat批处理修改文件夹下文件名字相关推荐

  1. linux: 批量修改文件夹及文件夹下文件的名字

    假如我有一个文件夹,文件夹下面有一些文件,如下所示: Gideon/gideon_lisha/Gideon_samuel/Gideon_nathan.xml Gideon/lisha_gideon/G ...

  2. 批量修改文件夹下文件的名字

    批量修改文件夹下文件的名字 // An highlighted blockpublic static void changeFileNameBatch(String path) {// get fil ...

  3. Linux统计某文件夹下文件、文件夹的个数

    统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...

  4. Linux下查看文件夹下文件个数

    统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...

  5. python观察日志(part18)--遍历文件夹下文件并判断后缀

    学习笔记,仅供参考 import ospath = r"F:\MyStudio\PythonStudio\goatbishop.project01\MyNewWork" fileN ...

  6. Centos 统计文件夹下文件和文件夹的个数

    运营管理中经常会碰到关于文件统计的需求,近期在做系统迁移,正好做个备忘. 关键词: d  : directory -   : 一般文件 以下命令在需要统计的目录下进行,如: # cd 目标文件夹 统计 ...

  7. linux根目录数量限制,windows,linux文件夹下文件上限最大个数

    1.FAT16文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte): 卷的最大体积是4GB:每个卷上最多可以保存的文件数量是65,536个 ( ...

  8. Git无法添加文件夹下文件

    git rm --cached directorygit add directory 参考 git 无法添加文件夹下文件

  9. java读取文件夹下的所有txt文件,java读取文件夹下文件及txt内容

    public class PositionController { // 读取txt内容 public static String txt2String(File file) { StringBuil ...

最新文章

  1. jtoken判断是否包含键_c#-确定JToken是否为叶子
  2. 多ajax请求的各类解决方案(同步, 队列, cancel请求)
  3. linux centos-6.5,Linux(CentOS 6.5)安装 mysql
  4. js时间戳转成日期格式
  5. c++去除图片上的文字_图片文字修改去除方法
  6. java runtime ssh 后执行指令_酒后系列:被某厂面试官吊打后酒后整理的JVM干货
  7. 云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
  8. Atitit View事件分发机制
  9. 计算机一级题库ps视频,计算机一级Photoshop题库及答案
  10. 永恒之蓝-MS17010 CVE-2017-0146
  11. 逢看必会的三子棋小游戏:原来可以这么简单
  12. openSetting:fail can only be invoked by user TAP gesture.
  13. 163vip邮箱登陆有哪些方法?哪种最便捷?
  14. 微信之分享到朋友圈并记录分享次数
  15. 限制网页只能在微信浏览器打开
  16. Quartus II 18.1的下载安装和注册
  17. PCL:投影滤波(二)将点云投影至球面
  18. error C2448: 'Unknown' : function-style initializer appears to be a function definition
  19. 耳机接口规则_3.5mm耳机接口和2.5mm耳机接口有什么区别?
  20. Centos配置阿里云yum源及epel源

热门文章

  1. 如何让技术面试者的面试体验做的更好
  2. Twitter的发展史
  3. 苹果手机群控免越狱手机投屏
  4. 复选框+按钮的disabled属性
  5. Google-谷歌新版主页http://www.zhuoqun.net/html/y2007/799.html
  6. 亚马逊CTO沃格斯:AWS如何通过自定义硬件提升云端性能
  7. 第一次创建maven项目时报错:Unable to import Maven project See logs for details
  8. java字符串数组赋值
  9. matlab大津法函数,matlab 大津阈值分割【相关词_ 大津法阈值分割matlab】
  10. php验证一个日期是否是工作日,如何判断一个日期是节假日还是工作日