事情是这样的:
我下载了一些文件,但是它们的文件名看着不大爽,于是准备精简一下。
说一下思路:
要用批处理修改文件名,需要ren命令,该命令的用法是
ren oldname newname
也就是把oldname更换为newname;
所以这里的8个文件就用8次ren命令可以了,手打输入8次也费不了太多时间;但是如果要处理800个文件名,那还是批处理比较省时。
难点:
A. 它们的文件名前缀不是一致的,而是有规律的排列;——用Excel比较方便。
B. 在命令行里,命令和参数之间是用空格隔开的,文件名中有空格的话,命令本身就识别不了该文件名了,这次要处理的文件名也是有空格的;处理方法是把文件名用双引号括起来。
于是准确的命令是:
REN "1_[高清 1080P+] 因为太怕痛就全点防御力了_1_防御特化和初战。.flv" "1_防御特化和初战.flv"
注意双括号要用英文字符。
实践:
1. 导出文件名
先Win+r运行cmd:
运行的界面是这样:
然后用命令cd,定位到文件的目录位置:
想要知道某命令的具体用法,可以在它后面输入参数“ /?”即可;
例如要查询cd命令的用法,输入“cd /?”然后回车即会显示各种参数的用途。
然后用命令dir导出文件名到list.txt文档:
我刚用“dir /?”查询了一下dir命令的用法,发现参数/B可以仅输出文件名,而不带用文件的修改时间等其他信息。
然后才用“dir /B>list.txt”命令导出文件名列表,这时可以在目录中看到有个新的list.txt文件了。
打开list.txt,里面是一行一行地显示的文件名:
2. 用Excel处理文件名
打开Excel,复制这些文件名,输入文件名列表,然后用函数处理文件名字符串:
这里用的是MID和FIND函数处理第一步简化文件名,第二步SUBSTITUTE去除文件名中的句点,第三部合并REN、“原文件名”和“目标文件名”(它们之间还要加上空格)。
想要知道函数详细用法的,可以参考office的帮助文档:
https://support.office.com/zh-cn/article/find%E3%80%81findb-%E5%87%BD%E6%95%B0-c7912941-af2a-4bdf-a553-d0d89b0a0628;
该网站其他的函数有兴趣的话也可以研究一下。
SUBSTITUTE函数作用是用新的字符串替换目标字符串中的旧的字符串,这里把句点替换成空。
第三步:
E2输入的函数是:="REN"&" "&A2&B2&A2&" "&A2&D2&A2
原文件名和目标文件名都有了,接下来可以用函数合并成最开始提及的命令行字符串了:
3. 把命令行做成bat文件运行
复制D列的命令行,在当前目录下新建一个文档:rename.txt,并粘贴到文档内;
保存然后关闭文件,然后将文件名称改为:rename.bat。
改好之后,双击这个bat文件,系统就自动给这堆文件改名字了。