工具及方法 - 使用DOS批处理给Windows文件批量改名

没有最好的,只有最合适的。

今天我拿到了一堆图片,要给图片改名:

改成:

如果是几个,手动操作没什么,要是上百个,就太烦人了。

我第一个想到的是把两列文件名放到Excel的两列里,用VBA来做文件改名。后来突然想到用脚本来做也可以,就用DOS命令,一条条运行就可以。通过整理信息,制造一个批处理文件即可。

第一步,将所有图片文件名输出到一个列表。

> dir /B

ad.png

ae.png

af.png

ag.png

ai.png

al.png

......

将此列表copy出来,或者直接输出到一个文件也可以。

> dir /B > name.txt

注意,> 是输出到一个新文件,而原文件内容被覆盖, >> 是输出内容接续到文件末尾,这个和Linux是一样的。

而关于dir的使用方式,和各个参数的使用方法,可以使用help命令查看:

> help dir

直接输入help是查看所有命令。注意帮助信息里显示都是大写命令和参数,而DOS中是不分区大小写的。

第二步,将文件名提取出来,不要后缀。

使用Notepad++的列模式来选取,操作方式是按住ALT键,然后鼠标左键选取列内容。或者使用其他带列编辑模式的文本编辑器也可以。

但这里使用列编辑模式的条件是,文件名都是规则的,都是两个字母,如果长度不一致,那就要copy到Excel中,使用字符函数来处理了。

比如名字是abcdef.png, 那就使用Excel的字符串处理函数,假如此名字位于A2单元格, =LFFT(A2, LEN(A2)-4),得到的就是“abcdef”。

第三步,将得到的列表copy到excel里,然后使用vlookup函数,根据映射关系,找到需要修改的文件名信息,显示如下:

第四步,构造修改后的文件名称。

第五步,构造原文件名,并加上dos中的改文件名的命令。

第六步,将以上内容copy到一个bat文件中,执行即可。注意,因为bat文件的编码格式需要是ANSI的,否则运行后,中文文件名会都是乱码。

其实这个dos的批处理脚本,选择成ANSI编码后,在文本中输入中文,就是GB2312编码。在Notepad++中将文本编码从UTF-8改成ANSI再保存后,因为里面有中文,就会自动变成GB2312码,而GB2312码本来也是包含了ANSI编码。

默认创建的文本文件是UTF-8编码,因为通常我们使用的文本文件,好多都使用这个编码,现在的Windows的底层和上层都是用Unicode、UTF-8一套来处理字符信息了。那Dos因为历史原因,还是使用GB2312来处理中文信息编码。

结果如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值