aboutsummaryrefslogtreecommitdiff
path: root/tools/rename-tree.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-12-11 15:02:08 +0800
committercrupest <crupest@outlook.com>2024-03-25 22:17:28 +0800
commit52566293e75055513d397bf3ad64af969cd1f185 (patch)
treea3d43cf3edf2a7a39ab42487efae4b7084c2a81f /tools/rename-tree.py
parentc5c20e48c7620ac9524302474d9856fe1fe67537 (diff)
downloadcrupest-52566293e75055513d397bf3ad64af969cd1f185.tar.gz
crupest-52566293e75055513d397bf3ad64af969cd1f185.tar.bz2
crupest-52566293e75055513d397bf3ad64af969cd1f185.zip
tools(utility): move rename-tree.py.
Diffstat (limited to 'tools/rename-tree.py')
-rwxr-xr-xtools/rename-tree.py37
1 files changed, 0 insertions, 37 deletions
diff --git a/tools/rename-tree.py b/tools/rename-tree.py
deleted file mode 100755
index c177eb6..0000000
--- a/tools/rename-tree.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python3
-
-import argparse
-import os
-import os.path
-import re
-
-parser = argparse.ArgumentParser(
- prog='rename-tree',
- description='Recursively rename directories and files')
-
-parser.add_argument('old')
-parser.add_argument('new')
-parser.add_argument('dirs', nargs="+")
-
-args = parser.parse_args()
-
-old_regex = re.compile(args.old)
-new = args.new
-
-def rename(path, isdir):
- dirname = os.path.dirname(path)
- filename = os.path.basename(path)
- new_filename = re.sub(old_regex, new, filename)
- dir_str = "/" if isdir else ""
- if new_filename != filename:
- os.rename(path, os.path.join(dirname, new_filename))
- print(f"{path}{dir_str} -> {new_filename}{dir_str}")
-
-for i, d in enumerate(args.dirs):
- print(f"[{i + 1}/{len(args.dirs)}] Run for {d}:")
- for dirpath, dirnames, filenames in os.walk(d, topdown=False):
- for filename in filenames:
- rename(os.path.join(dirpath, filename), False)
- rename(dirpath, True)
-
-print("Done!")