README 更新:运行.bat→命令行运行.bat、命令路径加 app\ 前缀、修正 python\ 大小与导览描述

This commit is contained in:
UMR
2026-08-31 00:14:46 +08:00
parent 4fd28965e9
commit 3afad57c03
+18 -18
View File
@@ -16,7 +16,7 @@
## 快速上手 ## 快速上手
0. **(可选)便携版无需安装 Python**:工具包已内置官方 Python 嵌入式运行时(`python\` 目录,约 11MB)。双击 `启动网页版.bat` 直接打开浏览器整理界面;命令行用户双击 `运行.bat`。本机已装 Python 时两套入口同样可用。 0. **(可选)便携版无需安装 Python**:工具包已内置官方 Python 嵌入式运行时(`python\` 目录,约 21MB)。双击 `启动网页版.bat` 直接打开浏览器整理界面;命令行用户双击 `命令行运行.bat`。本机已装 Python 时两套入口同样可用。
> 📦 **源码版注意**:从 git 仓库克隆的源码**不含**内置运行时(`python\` 目录)。需本机已装 Python 3.8+,或到 python.org 下载 [Windows embeddable package (64-bit)](https://www.python.org/downloads/windows/) 解压为 `python\` 目录,即可恢复免安装便携。 > 📦 **源码版注意**:从 git 仓库克隆的源码**不含**内置运行时(`python\` 目录)。需本机已装 Python 3.8+,或到 python.org 下载 [Windows embeddable package (64-bit)](https://www.python.org/downloads/windows/) 解压为 `python\` 目录,即可恢复免安装便携。
@@ -30,11 +30,11 @@
└── ...(你的音乐文件) └── ...(你的音乐文件)
``` ```
2. **双击运行**:双击 `运行.bat`(或执行 `python anime_sorter.py`)。程序自动处理**上级文件夹**里的音乐。 2. **双击运行**:双击 `命令行运行.bat`(或执行 `python app\anime_sorter.py`)。程序自动处理**上级文件夹**里的音乐。
3. **看导览**:程序打印完整的整理预览(旧名 → 分类 → 新位置),并生成 `导览.txt`也是撤销对照表)。确认后输入 `y` 执行。 3. **看导览**:程序打印完整的整理预览(旧名 → 分类 → 新位置),并生成 `导览.txt``分类\歌曲\编号_曲名 ← 原名` 的对照清单,可按它手工移回)。确认后输入 `y` 执行。
4. **想要图形界面**:执行 `python anime_sorter.py --web`,浏览器里拖拽调整分类、点击应用。 4. **想要图形界面**:执行 `python app\anime_sorter.py --web`,浏览器里拖拽调整分类、点击应用。
5. **以后新增歌曲**:把新歌丢进音乐文件夹,再运行一次即可。新歌编号自动续接,识别结果缓存到 `识别缓存.json` / `artist_map.json`,下次离线也能用。 5. **以后新增歌曲**:把新歌丢进音乐文件夹,再运行一次即可。新歌编号自动续接,识别结果缓存到 `识别缓存.json` / `artist_map.json`,下次离线也能用。
@@ -103,7 +103,7 @@ D:\音乐\我的收藏\
``` ```
Anisong Organizer\ Anisong Organizer\
├── 启动网页版.bat / 运行.bat ← 入口层(双击即用) ├── 启动网页版.bat / 命令行运行.bat ← 入口层(双击即用)
├── app\ ← 程序层 ├── app\ ← 程序层
├── data\ ← 数据层(用户维护/缓存/导览) ├── data\ ← 数据层(用户维护/缓存/导览)
├── python\ ← 运行时层(内置 Python,免安装) ├── python\ ← 运行时层(内置 Python,免安装)
@@ -120,8 +120,8 @@ Anisong Organizer\
| `data\识别缓存.json` | 联网识别结果缓存(**每次联网运行自动重新生成**,不累积历史,可安全删除) | | `data\识别缓存.json` | 联网识别结果缓存(**每次联网运行自动重新生成**,不累积历史,可安全删除) |
| `data\artist_map.json` | MusicBrainz 歌手地区/成立时间缓存(自动生成,可手工编辑/预填,离线生效) | | `data\artist_map.json` | MusicBrainz 歌手地区/成立时间缓存(自动生成,可手工编辑/预填,离线生效) |
| `data\设置.json` | 数据源开关 + 分类/输出/解密等全部选项 | | `data\设置.json` | 数据源开关 + 分类/输出/解密等全部选项 |
| `data\导览.txt` | 每次运行自动生成的整理导览(含完整移动对照,可用于撤销;Web 界面有「📖 导览」按钮直接查看) | | `data\导览.txt` | 每次运行自动生成的整理导览(`编号_曲名 ← 原名` 对照,可据此手工撤销;Web 界面有「📖 导览」按钮直接查看) |
| `运行.bat` | 双击运行入口(命令行界面;自动优先使用内置 `python\` 运行时) | | `命令行运行.bat` | 双击运行入口(命令行界面;自动优先使用内置 `python\` 运行时) |
| `启动网页版.bat` | 双击启动浏览器整理界面(**关闭网页即自动退出进程**;仅出错时窗口停留) | | `启动网页版.bat` | 双击启动浏览器整理界面(**关闭网页即自动退出进程**;仅出错时窗口停留) |
| `python\` | 内置的官方 Python 嵌入式运行时(便携版核心,免安装 Python) | | `python\` | 内置的官方 Python 嵌入式运行时(便携版核心,免安装 Python) |
| `README.md` | 本说明文档 | | `README.md` | 本说明文档 |
@@ -182,18 +182,18 @@ Anisong Organizer\
## 命令行参数 ## 命令行参数
```bash ```bash
python anime_sorter.py # 预览模式(默认),确认后执行 python app\anime_sorter.py # 预览模式(默认),确认后执行
python anime_sorter.py --apply # 跳过确认直接执行 python app\anime_sorter.py --apply # 跳过确认直接执行
python anime_sorter.py --offline # 禁用联网,只查本地映射表/缓存 python app\anime_sorter.py --offline # 禁用联网,只查本地映射表/缓存
python anime_sorter.py --sources=animethemes,moegirl # 本次只用指定源 python app\anime_sorter.py --sources=animethemes,moegirl # 本次只用指定源
python anime_sorter.py D:\某文件夹 # 处理指定文件夹(缺省为工具包上级文件夹) python app\anime_sorter.py D:\某文件夹 # 处理指定文件夹(缺省为工具包上级文件夹)
python anime_sorter.py D:\下载目录 --recursive # 递归整理子目录(网易云下载结构),执行后清理空目录 python app\anime_sorter.py D:\下载目录 --recursive # 递归整理子目录(网易云下载结构),执行后清理空目录
python anime_sorter.py --web # 启动浏览器交互界面 python app\anime_sorter.py --web # 启动浏览器交互界面
``` ```
## Web 界面 ## Web 界面
`python anime_sorter.py --web` 启动本地服务并自动打开浏览器(仅监听 127.0.0.1,数据不出本机): `python app\anime_sorter.py --web` 启动本地服务并自动打开浏览器(仅监听 127.0.0.1,数据不出本机):
- 表单输入:**来源文件夹**(如网易云下载目录)+ **输出目录**(留空=来源文件夹)+ **递归整理子目录**(下载目录勾选,执行后自动清理源目录空壳);默认联网识别(**用户维护的 anime_map.json 始终第一优先** - 表单输入:**来源文件夹**(如网易云下载目录)+ **输出目录**(留空=来源文件夹)+ **递归整理子目录**(下载目录勾选,执行后自动清理源目录空壳);默认联网识别(**用户维护的 anime_map.json 始终第一优先**
- 顶部实时显示**数据源状态**(正常/失败/熔断/需代理) - 顶部实时显示**数据源状态**(正常/失败/熔断/需代理)
@@ -201,7 +201,7 @@ python anime_sorter.py --web # 启动浏览器交互界面
- 每首歌的**所属动漫系列以蓝色下拉框直接展示**(与分类下拉同款样式):正常显示当前匹配系列,展开后第一行是「+ 新建系列…」(**点击即出现输入框可直接打字**,选现存系列则立即生效并带出首播年份);标注**应用后自动写入 anime_map.json**。也可改分类(下拉)、调整顺序(↑↓) - 每首歌的**所属动漫系列以蓝色下拉框直接展示**(与分类下拉同款样式):正常显示当前匹配系列,展开后第一行是「+ 新建系列…」(**点击即出现输入框可直接打字**,选现存系列则立即生效并带出首播年份);标注**应用后自动写入 anime_map.json**。也可改分类(下拉)、调整顺序(↑↓)
- **勾选多行批量选择**后:可整体**拖拽**到其他分类或指定位置(也支持单选拖拽,拖动完成自动取消勾选);或通过批量工具栏一键移动 - **勾选多行批量选择**后:可整体**拖拽**到其他分类或指定位置(也支持单选拖拽,拖动完成自动取消勾选);或通过批量工具栏一键移动
- 「应用全部移动」执行(执行前有确认弹窗);**应用后计划回到可编辑状态,可继续调整并再次应用**(反复整理直到满意) - 「应用全部移动」执行(执行前有确认弹窗);**应用后计划回到可编辑状态,可继续调整并再次应用**(反复整理直到满意)
- 工具栏的「**📖 导览**」按钮:弹窗直接展示整理导览(完整移动对照/撤销日志),可复制或下载 `导览.txt` - 工具栏的「**📖 导览**」按钮:弹窗直接展示整理导览(`编号_曲名 ← 原名` 对照),可复制或下载 `导览.txt`
- 可中途「停止」;执行结果统计展示 - 可中途「停止」;执行结果统计展示
## 一键整理(网易云下载目录) ## 一键整理(网易云下载目录)
@@ -209,7 +209,7 @@ python anime_sorter.py --web # 启动浏览器交互界面
把网易云下载目录(`歌手\专辑\xxx.ncm` 嵌套结构)一键整理到指定路径: 把网易云下载目录(`歌手\专辑\xxx.ncm` 嵌套结构)一键整理到指定路径:
```bash ```bash
python anime_sorter.py D:\网易云下载 --recursive --apply python app\anime_sorter.py D:\网易云下载 --recursive --apply
# 输出目录: 设置.json 的 output(留空=下载目录本身);执行后自动清理空目录 # 输出目录: 设置.json 的 output(留空=下载目录本身);执行后自动清理空目录
``` ```
@@ -252,7 +252,7 @@ python anime_sorter.py D:\网易云下载 --recursive --apply
### 改错了想撤销? ### 改错了想撤销?
`导览.txt` 里每都是 `目标完整路径 ← 原始完整路径`移动对照,按它手工移回即可(Web 界面点「📖 导览」按钮直接查看/复制/下载)。 `导览.txt` 里每首歌都是 `分类\歌曲\编号_曲名 ← 原名` 的对照,按它手工移回即可(Web 界面点「📖 导览」按钮直接查看/复制/下载)。
### 旧版本(v3.1)整理过的文件夹 ### 旧版本(v3.1)整理过的文件夹