DOS和BAT批量提取修改文件名

DOS命令窗口:开始-cmd-回车,进入DOS命令窗口

案例一、获取文件名 dir

1、输入"文件所在盘",回车,如:

d:

wps9C40.tmp

2、输入"cd 文件夹位置",回车,如:

cd D:网页抓取

wps9C41.tmp

3、输入"dir /b>文件名.后缀名",回车,如:

Dir /b>1.txt

wps9C51.tmp

注释:

dir为directory的缩写,意为:目录,这里表示,显示目录中的文件和子目录列表;

/b表示,不显示修改日期等信息,只显示文件名;

文件名:是输出结果的文件名,可以随便命名;

后缀名:xls,txt,doc等都可以,分别表示输出的文件类型为:Excel、文本文档、Word等;

4.打开原文件夹,会发现里面多了一个文件:"文件名.后缀名",即为获取到的文件名的文件。

wps9C52.tmp

wps9C53.tmp

注意:虽然获取到了文件名,但是顺序不一致,因为文件夹里的文件名和获取出来的文件名排序方式不同,如果要一一对应,最好输出到Excel,调整数据格式,然后按照特定方式排序

譬如:左图是windows名称升序,右图是wps文本格式升序;左图按数字排序,右图按文本字符排序,所以结果不同;

wps9C54.tmpwps9C55.tmp

案例二:DOS .BAT批量修改文件名 ren

1、通过案例一获取文件名,结果如下:

wps9C56.tmp

2、对文件名进行处理,得到想要的新文件名;

案例中,就是要把文件名后面的数字去掉,结果如下:

wps9C67.tmp

提示:利用正则表达式:"d{7,10}" 来匹配末尾连续的的数字;

3、新建txt文件:输入"ren 旧文件名 新文件名",另存为bat文件,放入原文件夹,运行这个bat文件;

wps9C68.tmp

提示:利用Excel里的"&"函数,如C2单元格公式为:="ren "&A2&" "&B2

wps9C69.tmp

wps9C6A.tmp

4、运行之后,瞬间实现,结果如下:

wps9C6B.tmp

5、注意:

有时会出现,旧文件名无法批量处理,直接想换成新文件名;可以先对旧文件名批量重命名;

然后把批量重命名的文件名"ren 批量重命名的文件名 新文件名"。(不推荐!)

批量重命名:

1)选中要重命名的文件,然后在第一个文件右击,选择 重命名,如:"(1)",若修改前显示了后缀名,那么重命名时也要加上后缀名,如"(1).pdf";

wps9C7B.tmp

2)后面的文件会自动往下升序重命名,如图:

wps9C7C.tmp

3)然后继续用"ren 旧文件名 新文件名"批处理文件;

4)此处主要注意,如果重命名前,文件进行了排序操作,如按名称排序,那么新文件名要在旧文件名按名称排序之后进行修改,这样才能保证修改后的旧文件名-(1)-新文件名

但是不同软件的排序方式可能不同,所以此处不推荐,最好用原文件名直接替换新文件名,即:"ren 旧文件名 新文件名"。

原文地址:https://www.cnblogs.com/xianshenglu/p/8401157.html