文件批量改名工具(非通用)

对小白可以提供一点点点点的参考

import os
from pathlib import Path
import time
import datetime

zsj_name=input('请输入名称前1-2位:').upper()
lu1 = os.path.abspath('./')
os.makedirs(lu1+"\\zsj")
def file_name():
    for root, dirs, files in os.walk(lu1):
        for file in files:
            if os.path.splitext(file)[1] == '.zhd':
                lu = root
                if lu[-2:].isdigit():
                    zsj_day = int(lu[-2:])
                    zsj_month = int(lu[-9:-7])
                    zsj_year = int(lu[-20:-16])
                    d1 = datetime.datetime.strptime(
                        '{year}-{month}-{day}'.format(year=zsj_year, month=zsj_month, day=zsj_day),
                        '%Y-%m-%d')
                    d2 = datetime.datetime.strptime('{year}-01-01'.format(year=zsj_year), '%Y-%m-%d')
                    nianjiri = '{:0>3d}'.format((d1 - d2).days + 1)
                    tt = os.path.splitext(file)[0][-2:]
                    if tt=='Z1':
                        tt1 = os.path.splitext(file)[0][-3:-1]
                        os.rename(lu + '\\' + file, lu1 + '\\zsj\\' + zsj_name + tt1 + nianjiri + '0' + '.zhd')
                        print(lu, file, ">>>", zsj_name + tt1 + nianjiri + '0' + '.zhd')
                    elif tt=='C1' or tt=='C2' or tt=='C3' or tt=='C4':
                        tt1 = os.path.splitext(file)[0][-3:-2]
                        tt2 = os.path.splitext(file)[0][-1:]
                        os.rename(lu + '\\' + file, lu1 + '\\zsj\\' + zsj_name + tt1+ tt2 + nianjiri + '0' + '.zhd')
                        print(lu, file, ">>>", zsj_name + tt1+tt2 + nianjiri + '0' + '.zhd')
                    else:
                        os.rename(lu+'\\'+file,lu1+'\\zsj\\'+zsj_name+tt+nianjiri+'0'+'.zhd')
                        print(lu,file,">>>",zsj_name+tt+nianjiri+'0'+'.zhd')
    print('完成')
    time.sleep(2)
file_name()

 注意:含自带的OS模块的程序在运行时会被系统判为有风险!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值