bat批处理修改文件夹下文件名字
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
命令获取用户输入的原字符串和要替换成的字符串,分别存储在 oldDate
和 targetDate
变量中。由于要在循环中进行变量替换,因此启用了 enabledelayexpansion
选项。
接着,使用 for
命令遍历当前目录下所有不是目录的文件,并将文件名存储在 %%a
变量中。通过 set
命令将文件名赋值给 oldName
变量,并使用 !
符号进行延迟变量替换,即将 %oldDate%
替换为 %targetDate%
,并将结果赋值给 newName
变量。
最后,使用 ren
命令将文件名从 oldName
修改为 newName
,这样就完成了批量替换操作。
需要注意的是,在执行该脚本之前,请确保所在目录下没有相同名称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。
称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。
bat批处理修改文件夹下文件名字相关推荐
- linux: 批量修改文件夹及文件夹下文件的名字
假如我有一个文件夹,文件夹下面有一些文件,如下所示: Gideon/gideon_lisha/Gideon_samuel/Gideon_nathan.xml Gideon/lisha_gideon/G ...
- 批量修改文件夹下文件的名字
批量修改文件夹下文件的名字 // An highlighted blockpublic static void changeFileNameBatch(String path) {// get fil ...
- Linux统计某文件夹下文件、文件夹的个数
统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...
- Linux下查看文件夹下文件个数
统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...
- python观察日志(part18)--遍历文件夹下文件并判断后缀
学习笔记,仅供参考 import ospath = r"F:\MyStudio\PythonStudio\goatbishop.project01\MyNewWork" fileN ...
- Centos 统计文件夹下文件和文件夹的个数
运营管理中经常会碰到关于文件统计的需求,近期在做系统迁移,正好做个备忘. 关键词: d : directory - : 一般文件 以下命令在需要统计的目录下进行,如: # cd 目标文件夹 统计 ...
- linux根目录数量限制,windows,linux文件夹下文件上限最大个数
1.FAT16文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte): 卷的最大体积是4GB:每个卷上最多可以保存的文件数量是65,536个 ( ...
- Git无法添加文件夹下文件
git rm --cached directorygit add directory 参考 git 无法添加文件夹下文件
- java读取文件夹下的所有txt文件,java读取文件夹下文件及txt内容
public class PositionController { // 读取txt内容 public static String txt2String(File file) { StringBuil ...
最新文章
- jtoken判断是否包含键_c#-确定JToken是否为叶子
- 多ajax请求的各类解决方案(同步, 队列, cancel请求)
- linux centos-6.5,Linux(CentOS 6.5)安装 mysql
- js时间戳转成日期格式
- c++去除图片上的文字_图片文字修改去除方法
- java runtime ssh 后执行指令_酒后系列:被某厂面试官吊打后酒后整理的JVM干货
- 云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
- Atitit View事件分发机制
- 计算机一级题库ps视频,计算机一级Photoshop题库及答案
- 永恒之蓝-MS17010 CVE-2017-0146
- 逢看必会的三子棋小游戏:原来可以这么简单
- openSetting:fail can only be invoked by user TAP gesture.
- 163vip邮箱登陆有哪些方法?哪种最便捷?
- 微信之分享到朋友圈并记录分享次数
- 限制网页只能在微信浏览器打开
- Quartus II 18.1的下载安装和注册
- PCL:投影滤波(二)将点云投影至球面
- error C2448: 'Unknown' : function-style initializer appears to be a function definition
- 耳机接口规则_3.5mm耳机接口和2.5mm耳机接口有什么区别?
- Centos配置阿里云yum源及epel源
热门文章
- 如何让技术面试者的面试体验做的更好
- Twitter的发展史
- 苹果手机群控免越狱手机投屏
- 复选框+按钮的disabled属性
- Google-谷歌新版主页http://www.zhuoqun.net/html/y2007/799.html
- 亚马逊CTO沃格斯:AWS如何通过自定义硬件提升云端性能
- 第一次创建maven项目时报错:Unable to import Maven project 			See logs for details
- java字符串数组赋值
- matlab大津法函数,matlab 大津阈值分割【相关词_ 大津法阈值分割matlab】
- php验证一个日期是否是工作日,如何判断一个日期是节假日还是工作日