@@ -48,75 +48,161 @@ AVmerger 提供了基于 Cobra 的命令行界面,可以方便地通过命令
4848
4949``` bash
5050cd AVmerger
51- go get github.com/spf13/cobra
52- go build -o avmerger
51+ go build -o AVmerger.exe # Windows
52+ go build -o AVmerger # macOS/Linux
5353```
5454
55- #### 命令行参数
55+ #### 系统要求
5656
57- ** 全局参数:**
57+ - ** ffmpeg** : 用于音视频合并和转码
58+ - ** mediainfo** : 用于获取媒体文件信息
5859
59- - ` -i, --src ` : 源目录路径(B 站客户端缓存目录或安卓下载目录)
60- - ` -o, --dst ` : 目标输出目录路径(必填)
61- - ` -a, --archive ` : 归档目录路径(可选,用于分类整理合并后的文件)
60+ 确保这两个工具已安装并在系统 PATH 中。
6261
63- ** 子命令: **
62+ #### 可用命令
6463
65- 1 . ** client** - 处理 B 站客户端缓存视频
66- - 适用于 macOS/Linux 的 B 站客户端缓存目录
67- - 支持自动检测默认缓存路径
64+ ```
65+ Available Commands:
66+ a2p 转换安卓客户端下载目录
67+ archive 归档合并后的视频文件
68+ client 处理 B 站客户端缓存视频
69+ cover 归档封面图片
70+ rename 批量重命名文件
71+ completion Generate the autocompletion script for the specified shell
72+ help Help about any command
73+ ```
74+
75+ ---
6876
69- 2 . ** android2pc** - 转换安卓客户端下载目录
70- - 适用于从安卓设备复制的 download 目录
71- - 需要明确指定源目录和目标目录
77+ ### 1. client - 处理 B 站客户端缓存视频
7278
73- #### 使用示例
79+ 适用于 macOS/Windows/Linux 的 B 站客户端缓存目录,支持自动检测默认缓存路径。
7480
75- ** 处理 B 站客户端缓存:**
81+ ** 参数:**
82+ - ` -i, --src string ` : B 站客户端缓存目录基础路径(可选,为空则使用默认路径)
83+ - ` -o, --dst string ` : 输出目录基础路径(必填)
84+ - ` -a, --archive string ` : 归档目录基础路径(可选,用于分类整理合并后的文件)
85+
86+ ** 使用示例:**
7687
7788``` bash
7889# 基本用法(自动检测默认缓存路径)
79- ./avmerger client -o ~ /Videos/output
90+ ./AVmerger client -o ~ /Videos/output
8091
8192# 指定源目录和目标目录
82- ./avmerger client -i ~ /Movies/bilibili -o ~ /Videos/output
93+ ./AVmerger client -i ~ /Movies/bilibili -o ~ /Videos/output
8394
8495# 带归档目录(自动分类整理)
85- ./avmerger client -i ~ /Movies/bilibili -o ~ /Videos/output -a ~ /Videos/archive
96+ ./AVmerger client -i ~ /Movies/bilibili -o ~ /Videos/output -a ~ /Videos/archive
8697```
8798
88- ** 处理安卓客户端下载:**
99+ ** 默认路径:**
100+ - macOS: ` ~/Movies/bilibili `
101+ - Windows/Linux: ` ~/Videos/bilibili `
102+
103+ ---
104+
105+ ### 2. a2p - 转换安卓客户端下载目录
106+
107+ 将安卓客户端下载目录中的音视频文件合并并转换到 PC 端格式。
108+
109+ ** 参数:**
110+ - ` -i, --src string ` : 安卓客户端下载目录路径(必填)
111+ - ` -o, --dst string ` : 输出目录基础路径(必填)
112+ - ` -a, --archive string ` : 归档目录基础路径(可选,用于分类整理合并后的文件)
113+
114+ ** 使用示例:**
89115
90116``` bash
91117# 基本用法
92- ./avmerger android2pc -i /sdcard/download -o ~ /Videos/output
118+ ./AVmerger a2p -i /sdcard/Android/data/tv.danmaku.bili /download -o ~ /Videos/output
93119
94120# 带归档目录(自动分类整理)
95- ./avmerger android2pc -i /sdcard/download -o ~ /Videos/output -a ~ /Videos/archive
121+ ./AVmerger a2p -i /sdcard/Android/data/tv.danmaku.bili/download -o ~ /Videos/output -a ~ /Videos/archive
122+ ```
123+
124+ ---
125+
126+ ### 3. cover - 归档封面图片
127+
128+ 将源目录下的所有 cover.jpg 文件移动到目标目录并按顺序重命名。
129+
130+ ** 参数:**
131+ - ` -i, --src string ` : 源目录路径(必填)
132+ - ` -o, --dst string ` : 目标目录路径(必填)
133+
134+ ** 使用示例:**
135+
136+ ``` bash
137+ # 归档封面图片
138+ ./AVmerger cover -i ~ /Videos/bilibili -o ~ /Pictures/covers
96139```
97140
141+ ---
142+
143+ ### 4. archive - 归档合并后的视频文件
144+
145+ 将源目录中合并后的视频文件按照分类规则归档到目标目录。
146+
147+ ** 参数:**
148+ - ` -i, --src string ` : 源目录路径(必填)
149+ - ` -o, --dst string ` : 目标目录路径(必填)
150+
151+ ** 使用示例:**
152+
153+ ``` bash
154+ # 归档视频文件(按类型分类)
155+ ./AVmerger archive -i ~ /Videos/output -o ~ /Videos/archive
156+ ```
157+
158+ ---
159+
160+ ### 5. rename - 批量重命名文件
161+
162+ 批量替换指定目录下所有文件名中的特定字符串。
163+
164+ ** 参数:**
165+ - ` -d, --dir string ` : 要处理的根目录路径(必填)
166+ - ` -i, --src string ` : 需要被替换的字符串(必填)
167+ - ` -o, --dst string ` : 替换后的字符串(必填)
168+
169+ ** 使用示例:**
170+
171+ ``` bash
172+ # 将所有文件名中的 "旧名称" 替换为 "新名称"
173+ ./AVmerger rename -d ~ /Videos -i " 旧名称" -o " 新名称"
174+
175+ # 移除文件名中的特定字符
176+ ./AVmerger rename -d ~ /Videos -i " [广告]" -o " "
177+
178+ # 批量修正拼写错误
179+ ./AVmerger rename -d ~ /Videos -i " recieve" -o " receive"
180+ ```
181+
182+ ---
183+
184+ ### 通用说明
185+
98186** 查看帮助信息:**
99187
100188``` bash
101189# 查看全局帮助
102- ./avmerger --help
190+ ./AVmerger --help
103191
104192# 查看子命令帮助
105- ./avmerger client --help
106- ./avmerger android2pc --help
193+ ./AVmerger client --help
194+ ./AVmerger a2p --help
195+ ./AVmerger cover --help
196+ ./AVmerger archive --help
197+ ./AVmerger rename --help
107198```
108199
109- #### 功能说明
110-
111- - ** client 命令** : 调用 ` core.Client(src, dst) ` 函数,处理 B 站客户端缓存目录,自动检测操作系统并设置默认路径
112- - ** android2pc 命令** : 调用 ` core.Android2PC(src, dst) ` 函数,专门处理安卓设备的 download 目录结构
113- - ** --archive 参数** : 在视频合并完成后,自动调用 ` core.ClassifyAfterMerge() ` 函数将文件按类型分类到归档目录
114-
115- #### 注意事项
200+ ** 注意事项:**
116201
1172021 . 源目录和目标目录不能相同(防止误删数据)
118- 2 . ` android2pc ` 命令必须指定 ` --src ` 和 ` --dst ` 参数
203+ 2 . ` a2p ` 、 ` cover ` 、 ` archive ` 、 ` rename ` 命令必须指定所有必填参数
1192043 . ` client ` 命令的 ` --src ` 参数可选,为空时使用系统默认路径
1202054 . 需要系统已安装 ` ffmpeg ` 和 ` mediainfo ` 命令行工具
206+ 5 . 所有命令都会记录详细日志到 ` avmerge.log ` 文件
121207
122208### download 文件夹结构
0 commit comments