关于批量重命名文件

简介: 不久前,我们软件工程系举行了全系大会。我在大会上做了简短的报告,主题是“学以致用、动手实践”。报告期间我说了一个亲身经历:以前校园内U盘病毒肆虐,病毒会把U盘里所有的文本文件加上系统属性和隐藏属性,并添加“.tmp”扩展名(例如原文件名为“a.txt”,病毒修改为“a.txt.tmp”),然后生成一个和原文件同名的病毒文件。我不幸中招,于是用我所学的知识写了一个小程序,几秒钟就解决了。 原以

不久前,我们软件工程系举行了全系大会。我在大会上做了简短的报告,主题是“学以致用、动手实践”。报告期间我说了一个亲身经历:以前校园内U盘病毒肆虐,病毒会把U盘里所有的文本文件加上系统属性和隐藏属性,并添加“.tmp”扩展名(例如原文件名为“a.txt”,病毒修改为“a.txt.tmp”),然后生成一个和原文件同名的病毒文件。我不幸中招,于是用我所学的知识写了一个小程序,几秒钟就解决了。

原以为它就像插播广告一样随听随忘,不料言者无心听者有意。几个学弟回去后也都竭尽所能玩了一把:有用 Java 的,也有用 C# 的……功能也五花八门,不仅能批量修改扩展名,还能按 1→N 的顺序批量重命名文件等等。看他们玩得不亦乐乎,想来那次报告还有点作用嘛^_^。

今天又被问起我那时候的程序是怎么写的。其实在我们大一那会儿,要用计算机只能到图书馆的电子阅览室。那儿的系统“干干净净”,不会有 VC++ 等编译器,而且那种打开网页需要半分钟的速度也不会让你考虑去下载(估计其他高校情况也差不多),所以我是用批处理解决的。我用了下面三条命令:

::a.bat
@echo off
::删除所有病毒文件
del /F /S /Q *
::递归地去掉文件的隐藏属性
attrib -s -h -r * /S /D
::遍历目录,去掉 tmp 扩展名
for /R . %%f in ( *.tmp) do ren %%f %%~nf

上面的程序中是为了去掉“.tmp”这个扩展名,所以用 for 命令来遍历。但如果仅仅是修改扩展名则更简单,只要运行 ren *.bat *.txt 即可。另附一段好玩的批处理:将下面的代码保存成 bat 文件,双击运行就能将当前目录下的 jpg 图片文件按 1-N 的顺序重新命名(用来批量处理从网上下载下来的图片非常有效)。大家可以修改蓝色部分来改变扩展名。

::b.bat
@echo off
::开启延迟的变量扩充
setlocal enabledelayedexpansion
::计数器
set /a i=1
for /R . %%f in ( *.jpg) do (
  ren %%f !i! .jpg
  set /a i=!i!+1
)

只要大家悉心观察,还有很多好玩的问题可以去解决,祝大家玩得开心^_^。


版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“redraiment”和主站点地址,方便其他朋友提问和指正。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com
我的Blogger(子清行):http://redraiment.blogspot.com/
我的Google Sites(子清行):https://sites.google.com/site/redraiment
我的CSDN博客(梦婷轩):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩):http://hi.baidu.com/redraiment

目录
相关文章
|
4月前
|
存储 定位技术 Python
批量将文件名称符合要求的文件自动复制到新文件夹:Python实现
批量将文件名称符合要求的文件自动复制到新文件夹:Python实现
|
10月前
|
Ubuntu Linux Perl
文件重命名
文件重命名
|
机器学习/深度学习 Python
利用python脚本批量重命名文件
利用python脚本批量重命名文件
203 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
1007 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
VBS实现批量重命名文件并且操作前备份原有文件
'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.
899 0
VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)
'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.
1305 0
使用批处理复制并以时间规则重命名文件
原文:使用批处理复制并以时间规则重命名文件 @echo off::获取日期 将格式设置为:20110820set datevar=%date:~0,4%%date:~5,2%%date:~8,2%::获取时间中的小时 将格式设置为:24小时制set timevar=%time:~0,2%if /i ...
1592 0