import os def rename_folders(root_dir, level=1, parent_prefix=''): # 計數器,用於生成唯一的名稱 counter = 1 # 遍歷文件夾 for dirpath, dirnames, filenames in os.walk(root_dir): # 只處理文件夾(不處理文件) for dirname in dirnames: # 構建原始文件夾路徑 old_path = os.path.join(dirpath, dirname) # 生成新的文件夾名稱前綴 if level == 1: # 一級目錄直接以0開頭遞增 new_prefix = f'0{counter:02d}' # 使用三位數,不足部分用0填充 else: # 二級及以上目錄使用父級目錄的名稱和_作爲分隔符,再加上遞增的數字 new_prefix = f'{parent_prefix}_{counter:02d}' # 檢查新名稱是否已經存在 new_name = new_prefix new_path = os.path.join(dirpath, new_name) while os.path.exists(new_path): # 如果存在,增加計數器 counter += 1 new_name = f'{new_prefix[:-3]}{counter:02d}' if '_' in new_prefix else f'0{counter:02d}' new_path = os.path.join(dirpath, new_name) # 重命名文件夾 os.rename(old_path, new_path) print(f"Renamed {old_path} to {new_path}") # 遞歸處理子文件夾,並更新前綴和級別 rename_folders(new_path, level + 1, new_name) # 重置計數器,因爲每個新的級別都需要從1開始計數 counter = 1 # 使用示例 root_dir = "H:\\00002_zw" # 替換爲您的根目錄路徑 root_dir = "H:\\zw_new" # 替換爲您的根目錄路徑 rename_folders(root_dir)