DOS和BAT批量提取修改文件名
DOS命令窗口:开始-cmd-回车,进入DOS命令窗口
案例一、获取文件名 dir
1、输入"文件所在盘",回车,如:
d:
2、输入"cd 文件夹位置",回车,如:
cd D:\网页抓取
3、输入"dir /b>文件名.后缀名",回车,如:
Dir /b>1.txt
注释:
dir为directory的缩写,意为:目录,这里表示,显示目录中的文件和子目录列表;
/b表示,不显示修改日期等信息,只显示文件名;
文件名:是输出结果的文件名,可以随便命名;
后缀名:xls,txt,doc等都可以,分别表示输出的文件类型为:Excel、文本文档、Word等;
4.打开原文件夹,会发现里面多了一个文件:"文件名.后缀名",即为获取到的文件名的文件。
注意:虽然获取到了文件名,但是顺序不一致,因为文件夹里的文件名和获取出来的文件名排序方式不同,如果要一一对应,最好输出到Excel,调整数据格式,然后按照特定方式排序;
譬如:左图是windows名称升序,右图是wps文本格式升序;左图按数字排序,右图按文本字符排序,所以结果不同;
案例二:DOS .BAT批量修改文件名 ren
1、通过案例一获取文件名,结果如下:
2、对文件名进行处理,得到想要的新文件名;
案例中,就是要把文件名后面的数字去掉,结果如下:
提示:利用正则表达式:"\d{7,10}" 来匹配末尾连续的的数字;
3、新建txt文件:输入"ren 旧文件名 新文件名",另存为bat文件,放入原文件夹,运行这个bat文件;
提示:利用Excel里的"&"函数,如C2单元格公式为:="ren "&A2&" "&B2
4、运行之后,瞬间实现,结果如下:
5、注意:
有时会出现,旧文件名无法批量处理,直接想换成新文件名;可以先对旧文件名批量重命名;
然后把批量重命名的文件名用"ren 批量重命名的文件名 新文件名"。(不推荐!)
批量重命名:
1)选中要重命名的文件,然后在第一个文件右击,选择 重命名,如:"(1)",若修改前显示了后缀名,那么重命名时也要加上后缀名,如"(1).pdf";
2)后面的文件会自动往下升序重命名,如图:
3)然后继续用"ren 旧文件名 新文件名"批处理文件;
4)此处主要注意,如果重命名前,文件进行了排序操作,如按名称排序,那么新文件名要在旧文件名按名称排序之后进行修改,这样才能保证修改后的旧文件名-(1)-新文件名;
但是不同软件的排序方式可能不同,所以此处不推荐,最好用原文件名直接替换新文件名,即:"ren 旧文件名 新文件名"。
行文仓促,如有错误,欢迎批评指正~~~
转载请注明来源,文中所提文档可以在我的 Github 上下载~~~新博客现已迁移至 Github issues