当你事先有存放文件名的txt,如何使用BAT脚本批量修改文件名为txt内的文件名

请注意,本文并非使用单一脚本完成。(如果可以实现使用单一脚本的话请联系我,我也想要)

(具体地说,需要用到2个脚本和1个excel)

如下,你有几个文件,有一个已经写好你想命名的列表的txt,你想把文件重命名为这个txt里面的文件。

(请注意,txt内的文件名不要忘了加后缀)

(如果你不加后缀也可以,但是后面的excel命令需要改变,详情见后面)

1. 获取当前文件名

请使用这个脚本,获取当前目录下的文件名:

DIR *.* /B >LIST.TXT

这个脚本会生成一个叫LIST.TXT的文件,上面有当前目录下的所有文件名。

 然后你就可以复制你想重命名的文件名。

复制它们到excel中。

2. excel

 excel命令:

="ren """&A2&""" """&B2&""""

(请注意,最前面的等于号是excel命令的标志,不可省略

如果你的name_list.txt没有写文件扩展名后缀(如.mp3),那么你可以在这里加,把上面的excel命令替换为以下命令:

="ren """&A2&""" """&B2&".mp3"""

这里加的是.mp3后缀,其他后缀同理。

把函数命令填充到每一行,如图所示。

(填充方法:把鼠标放在命令所在单元格的右下角,鼠标变成一个黑色十字后,下拉,即可完成填充)

然后你就可以复制命令,以这些命令建立一个脚本

 ↑复制

3.重命名的脚本

请注意,为了防止乱码,脚本最好不要直接使用,需要设置为UTF-8编码

@echo off
chcp 65001

以上命令可以设置为UTF-8编码。

(经试验,发现有以下情况:加了以上命令反而导致bat运行后没有反应,去除以上命令后问题解决,且没有乱码。原因尚不明确)

完整脚本:

@echo off
chcp 65001
ren "1.txt" "01 童年.txt"
ren "2.txt" "02 在人间.txt"
ren "3.txt" "03 我的大学.txt"

至此,运行这个bat脚本,即可完成重命名。

(由于脚本运行后不能Ctrl+Z复原,建议运行脚本前先备份)

如果运行没有反应,请:

1. 检查是否有不能用作文件名的符号,比如英文的双引号、引号等

2. 去除以下命令(如果你有加上)

@echo off
chcp 65001

本文的创新点在于:

  • 使用UTF-8编码防止乱码
  • 使用双引号把文件名括起来,防止文件名含有空格导致命令无法识别
  • 不需要指定原先文件名的后缀
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值