Files
wecom_it_smart_desk/docs_repair_rmdir.py
T
2026-08-11 14:17:39 +08:00

46 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
"""删除已清空的旧独有目录(含递归空子目录)。仅删确认为空的目录,杜绝误删新结构内容。"""
import os, shutil, sys
ROOT = "docs"
DRY = "--go" not in sys.argv
# 旧独有目录(非规范 9 类,规范类为 01-产品文档/02-技术文档/03-测试文档/04-运维文档/05-运营文档/06-安全审计/07-项目管理/08-历史归档)
OLD_ONLY = [
"01-产品设计", "02-产品需求", "03-技术架构", "04-原型设计",
"06-测试质量", "08-安全审计", "09-部署运维", "10-项目管理", "11-历史归档",
]
print("校验 9 个旧独有目录是否为空:")
all_empty = True
for d in OLD_ONLY:
dp = os.path.join(ROOT, d)
if not os.path.isdir(dp):
print(" 跳过(不存在):", d); continue
n = sum(1 for _ in os.walk(dp) if False) # placeholder
files = []
for root, dirs, fnames in os.walk(dp):
for f in fnames:
files.append(os.path.join(root, f))
print(" %s : %d 个文件" % (d, len(files)))
if files:
all_empty = False
for f in files[:10]:
print(" 残留:", f)
if not all_empty:
print("\n!! 存在残留文件,终止删除,请人工核查。")
raise SystemExit(1)
print("\n✓ 全部为空,可安全删除" if not DRY else "\n[DRY] 以下将递归删除:")
if DRY:
for d in OLD_ONLY:
print(" ", d)
else:
for d in OLD_ONLY:
dp = os.path.join(ROOT, d)
if os.path.isdir(dp):
shutil.rmtree(dp)
print(" 已删除:", d)
print("\n删除完成。")