win批量重命名

win批量重命名

代码

import os
import sys


def open_file(path, recursive, deep):
    tag = ""
    file_names = os.listdir(path)

    for _ in range(0, deep):
        tag += tag.join("\t")

    for name in file_names:

        sub_path_name = os.path.join(path, name)

        # 是文件夹
        if (os.path.isdir(sub_path_name)):
            if recursive:
                print(tag + "+---" + name)
                deep += 1
                open_file(sub_path_name, recursive, deep)
                deep -= 1
            else:
                continue
        # 是文件
        else:
            rename(path, name, tag + "|--")


def rename(path, name, tag):
    if filter_file(name) is False:
        return

    new_name = get_name(name)

    if name == new_name:
        print(tag + name + "  is already exists")
        return

    print(tag + "new name : " + new_name)
    old_file_name = path + "/" + name
    new_file_name = path + "/" + new_name
    os.rename(old_file_name, new_file_name)


# 重写这个方法来过滤文件
def filter_file(ref_name):
    # 按文件后缀过滤文件
    if ref_name.endswith(".fbx") is False:
        # print(tag + name + "  is not a .fbx file, skip")
        return False
    return True


# 重写这个方法来命名文件
def get_name(ref_name):
    ref_name = "anim@" + ref_name
    return ref_name


print("****************************************************")
print("command : ")
print(" .py [path] ")
print(" .py [path] -r")
print("****************************************************")
print()

path = ""
recursive = False

argvs_len = len(sys.argv) - 1
if argvs_len == 1:
    path = sys.argv[1]

if argvs_len == 2:
    path = sys.argv[1]
    if (sys.argv[2] == "-r"):
        recursive = True
    else:
        Exception("error command : " + sys.argv[2] + ". Use [-r] instead.")

open_file(path, recursive, 0)

# --------------------------------
# for arg in sys.argv:
#     print(arg)

# gpus = [int(gpus.split(','))]
# batch_size = sys.argv[2]
# print(batch_size)
# --------------------------------

使用方法

cmd 键入 python.exe rename_batch.py [path] -r

?[path]即需要重命名文件的根目录,-r 开启文件夹递归。

?重写get_name方法,自定义文件命名规则。

?重写filter_file方法,自定义文件过滤规则。

截图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值