如何批量删除文件名末尾的几位字符?

it2024-11-11  5

常工作中老是跟各种各样的文件打交道,有时候需要处理一些像这类文件的文件名,后面不同的数字是由时间戳生成的,但是这些时间戳对我来说又没用,如果一个一个去重命名,实在是麻烦,如果能够批量处理的话,能节省不少的工作量; 下面言归正传,批量删除文件名末尾字符总共分3步,简单又粗暴: #第1步:创建txt文件并修改类型; #第2步:粘贴代码并修改参数; #第3步:双击执行bat文件;

第1步:在该文件夹内创建txt文本文件,然后将该文件重命名为bat文件;

在这里可能会有个小问题,就是新建的txt文档改完后缀为bat后类型依然是txt; 这里需要跟着一起来操作下:文件夹选项→查看→选项→更改文件夹和搜索选项→查看→去掉隐藏已知文件类型的扩展名√,然后回到文件夹重新重命名txt文件为bat文件 (这个完全可以百度查下“如何查看隐藏的文件后缀名”)

第2步:将以下代码粘贴到刚才所创建的文件中,修改相应参数,请关注注释:

@echo off ::Deep Lee setlocal enabledelayedexpansion for %%f in (*.wav) do ( *[注释]:这里的.wav,是你要指定批量处理的文件后缀名(可以根据不同后缀修改,例如pdf,txt,jpg等)* echo %%f set name=%%f ren !name! !name:~0,9%!.wav *[注释]:如果将9改为-5,则是从右向左删除5位,如果将9改为-6,则是从右向左删除6位,以此类推,(此处的.wav算4个字符,这里算是默认自动补齐了,实际上是先删后加的) ) pause

例如我想删除后6位的时间戳,因为文件后缀.wav占据4个字符,所以这里示例写的是-10,实际上就是先删除后10位字符,然后代码中再补上.wav(注意~0,-10%!.wav,这个.wav是删除后补齐用的),应该这样写:

@echo off ::Deep Lee setlocal enabledelayedexpansion for %%f in (*.wav) do ( echo %%f set name=%%f ren !name! !name:~0,-10%!.wav ) pause

第3步:双击执行保存好的bat文件,在dos命令窗口按任意键返回即可。

希望可以帮到陌生的你,如有帮助,麻烦点个赞哈!!! 第一次发博,如有侵权麻烦私密告知!!! 注:在执行此操作前务必做好备份,万一不好使呢,对吧。

-------------------------------------------------------------------------------------------------在记录中成长

最新回复(0)