first commit

This commit is contained in:
2025-12-14 22:21:51 +08:00
commit f32c1653f0
6 changed files with 1194 additions and 0 deletions

114
README.md Normal file
View File

@@ -0,0 +1,114 @@
# 文件重命名工具
这是一个功能强大的Python文件重命名工具支持命令行和图形界面两种使用方式。
## 功能特性
- 批量文件重命名
- 简单字符串替换
- 正则表达式替换
- 添加前缀/后缀
- 自动编号
- 大小写转换
- 预览模式
- 操作撤销
- 日志记录
## 安装要求
- Python 3.6+
- 标准库(无需额外安装第三方包)
## 使用方法
### 命令行版本
```bash
# 查看帮助
python file_renamer.py -h
# 简单替换
python file_renamer.py /path/to/directory replace "old_text" "new_text"
# 正则表达式替换
python file_renamer.py /path/to/directory regex "\d+" "#"
# 添加前缀
python file_renamer.py /path/to/directory prefix "PRE_"
# 添加后缀
python file_renamer.py /path/to/directory suffix "_SUF"
# 自动编号
python file_renamer.py /path/to/directory enumerate --prefix="IMG_" --start=1 --digits=3
# 大小写转换
python file_renamer.py /path/to/directory case lower
# 预览模式(不实际重命名)
python file_renamer.py /path/to/directory replace "old" "new" --preview
# 撤销上次操作
python file_renamer.py /path/to/directory undo
```
### 图形界面版本
```bash
python gui_renamer.py
```
图形界面提供了直观的操作方式,支持以下功能:
1. 选择目录
2. 多种重命名模式切换
3. 预览功能
4. 实时结果显示
5. 撤销操作
## 使用示例
### 示例1批量替换文件名中的日期格式
假设有一批文件名为 `report_2023-01-01.txt`,想改为 `report_20230101.txt`
```bash
python file_renamer.py /path/to/files replace "-" ""
```
### 示例2使用正则表达式清理文件名
移除文件名中的数字:
```bash
python file_renamer.py /path/to/files regex "\d+" ""
```
### 示例3为照片文件添加前缀和编号
```bash
python file_renamer.py /path/to/photos enumerate --prefix="PHOTO_" --start=1 --digits=4
```
这会将文件重命名为:`PHOTO_0001.jpg`, `PHOTO_0002.png`, ...
### 示例4统一文件名大小写
```bash
python file_renamer.py /path/to/files case lower
```
## 注意事项
1. 操作前建议先使用预览模式查看结果
2. 工具会自动避免文件名冲突
3. 所有操作都会记录到日志文件中
4. 支持通过撤销功能回退最后一次操作
5. 正则表达式功能需要熟悉基本的正则语法
## 日志和历史记录
- 日志文件:`rename_log.txt`
- 历史记录:`rename_history.json`
可以通过历史记录文件查看所有重命名操作,并在需要时手动恢复文件名。