提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
【学习笔记】批量修改文件名的两种方法
背景
在实习的时候,不管是在哪个单位,总会碰到一个奇葩且繁琐的任务——批量修改文件名。
要是用右键,重命名,或者F2键一个个进行修改,那真的是想死。
代码解决。
来吧,展示。
一、上Python
人生苦短,我用Python。在环境都搭建好的情况下,Python可以帮助我们快速解决问题。
版本:Python3.7.2
编译器:Geany
首先可以看到,我们的目标文档:105A文件夹里有6个jpg文件。
我们的目标是!替换每个文件后面的A,将其修改成为B。
上Python代码:
#coding=gbk
import re
import os
path = "C:/Users/Administrator/Desktop/105A/" #文件路径
originalname = 'A' #要查找文件名里包含origin字符的文件
replacename = 'B' #要被替换的字符串,如果就是删除originalname,那么replacename = ''就可以
def main1(path1):
files = os.listdir(path1) # 得到文件夹下的所有文件名称
for file in files: #遍历文件夹
if os.path.isdir(path1 + '\\' + file):
main1(path1 + '\\' + file)
else:
files2 = os.listdir(path1 + '\\')
for file1 in files2:
if originalname in file1:
#用‘’替换掉X变量
n = str(path1 + '\\' + file1.replace(originalname,replacename))
n1 = str(path1 + '\\' + str(file1))
try:
os.rename(n1, n)
except IOError:
continue
main1(path)
执行一下,轻松搞定,文件名被替换啦!
需要删除的话,replacename = ‘’
二、bat批处理文件
在没有安装Python,又情况紧急时,比如老板在旁边盯着你,这个时候就可以用Windows的bat进行傻瓜式操作,步骤多,但是方便啊。
首先,在文件夹中新建一个txt文档,在文档里输入下列代码:
@echo off
dir /b /on *.jpg > list.xls
之后将该txt文档的后缀改成bat,得到一个读取文件名的处理器。
大胆的确定!
双击生成的bat,会生成一个Excel的list文档。
打开文档后你会发现,啊哈,所有文件名都收集起来了呀!
我们的目的是生成Windows可以处理的bat语言,所以我们只需要这样那样那样这样,不就生成了吗!
复制新的一列:
在Excel里F5替换:
再生成新的一列,在C1输入:=CONCATENATE("ren “,A1,” ",B1),下拉。
将结果新建一个txt文件,改后缀成为bat格式。
替换完毕
总结
以上就是批量修改文件夹名的两种方法。功能很简单,却很实用。但是我也发现了功能的不足,太少啦!之后还会进行增加和修正。