Skip to content

Latest commit

 

History

History
250 lines (171 loc) · 8.76 KB

File metadata and controls

250 lines (171 loc) · 8.76 KB

下载路径与文件名 · 使用指南

对应设置页:设置 → 下载路径 / 文件名

Shaft 把"下载文件要叫什么名、放在哪"这件事做成了可以自定义的模板。 看完这篇你就会用了,不需要懂编程。


一、最快上手:选一个预设就行

打开设置页顶部可以看到 4 个预设卡片。每张卡会直接显示"用这个预设, 一张插画会存成什么样":

预设 落点示例
Shaft 经典 Pictures/Shaft/Illusts/某作者 (12345)/作品标题 123456789 p1.jpg
扁平 Pictures/Shaft/作品标题 123456789 p1.jpg
按日期分组 Pictures/Shaft/2024/2024-08/作品标题 123456789 p1.jpg
按作者分组 Pictures/Shaft/某作者 (12345)/作品标题 123456789 p1.jpg

点卡片上的紫色"套用"按钮就生效,之后下载的所有作品都按这个落。 选错了想换随时点另一个。

如果只想偷懒,这一步就够了,后面不用看。


二、要自定义?先看模板长啥样

翻到 插画 / 漫画 那张卡片,会看到"文件名模板"输入框,默认是:

Shaft/Illusts/[?R18:R18/][?AI:AI/]{author} ({author_id})/{title} {id}[?p>1: p{page}].{ext}

看起来吓人,但规则只有 4 条

  1. 普通文字照原样出现(比如 Shaft/Illusts/
  2. {变量名} 会被换成真实内容(比如 {title} → 作品标题)
  3. [?条件:内容] 只在条件成立时才出现(比如 [?R18:R18/] 只有 R18 作品才多一层 R18/ 目录)
  4. / 表示子目录

上面那条模板翻译过来就是:

Pictures/Shaft/Illusts/ 下面,如果是 R18 多加一层 R18/, 如果是 AI 多加一层 AI/,然后一层作者目录, 文件名是 作品标题 作品ID,如果多页再加 p页码,后缀跟源文件。


三、变量速查表

每个变量代表作品的一项信息。设置页"变量(点击插入)"一栏里点任一个, 会直接插到你正在编辑的模板里(先点一下模板输入框再点变量)。

变量 举例 说明
{id} 123456789 作品 ID。强烈建议加,避免同名覆盖
{title} 夏日祭り 作品标题
{page} 0 / 1 / 2 当前第几张(从 0 开始)
{pages} 4 本作品一共几张
{ext} jpg / png / gif 扩展名,跟随源文件(Pixiv 给 png 就存 png,给 jpg 就存 jpg)
{author} 藍染 作者昵称
{author_id} 55555 作者 ID
{w} 1920 图片宽度(像素)
{h} 1080 图片高度
{created:yyyyMMdd_HHmmss} 20240815_093210 投稿时间,冒号后自己写格式(见下)

{created:…} 格式:冒号后面写你想要的日期格式,常用的几种:

想要 写法
2024 {created:yyyy}
2024-08 {created:yyyy-MM}
2024-08-15 {created:yyyy-MM-dd}
20240815_093210 {created:yyyyMMdd_HHmmss}

四、条件速查表

条件块形式 [?条件:内容]——条件成立时 内容 才出现,否则整个块消失。

条件 作用
[?R18:R18/] 只有 R18 作品才多加 R18/ 子目录
[?AI:AI/] 只有 AI 生成作品才多加 AI/ 子目录
[?!R18:safe/] 前面加 ! 表示取反——只有 R18 才加 safe/
[?p>1: p{page}] 只有多页(总页数 > 1)时才加 p页码;单页作品不加

五、常见需求抄作业

「我就想要 作者名/作品.jpg,什么花样都不要」

{author}/{title}.{ext}

结果:Pictures/藍染/夏日祭り.jpg

⚠️ 没带 {id} 会遇到同标题的作品相互覆盖,下载到一半才发现文件消失了。建议至少加一个 {id}

{author}/{title} {id}.{ext}

「R18 要跟普通作品分开」

Shaft/[?R18:R18/]{author}/{title} {id}.{ext}

普通作品:Shaft/藍染/夏日祭り 123.jpg R18 作品:Shaft/R18/藍染/夏日祭り 456.jpg

「按年月分文件夹,每月一个目录」

Shaft/{created:yyyy-MM}/{title} {id}.{ext}

结果:Shaft/2024-08/夏日祭り 123.jpg

「多 P 作品全放一个子文件夹,不要散落」

Shaft/{author}/{title} {id}/p{page}.{ext}

结果(4 页作品):

Shaft/藍染/夏日祭り 123/p0.jpg
Shaft/藍染/夏日祭り 123/p1.jpg
Shaft/藍染/夏日祭り 123/p2.jpg
Shaft/藍染/夏日祭り 123/p3.jpg

「我要原图尺寸信息写在文件名上」

{title} {id} {w}x{h}.{ext}

结果:夏日祭り 123 1920x1080.jpg


六、边改边看:实时预览

每张 bucket 卡片下方都有"实时预览"框——你在模板里每敲一个字, 预览会立刻显示这样改完一个样本作品会存成什么路径。不用保存就能看。

改好满意了点左下角紫色"保存"按钮。如果写错了语法(比如 { 没配对的 }), 保存会被拒绝并提示哪里错了,不会破坏现有设置。

要把这个桶恢复到系统默认?点"恢复默认"。 要把所有桶全部恢复?滑到页面底部点"全部恢复默认"。


七、覆盖策略(同名文件怎么办)

每张 bucket 卡片上方有一个 chip 标签显示当前策略,目前默认是"已存在则重命名":

策略 行为
已存在则跳过 检测到同路径文件已存在就不下载——省流量,但也可能是你想覆盖旧的却不行
已存在则覆盖 删掉旧的、写新的——旧版本永久丢失
已存在则重命名 自动在后面加 (1)(2)……直到找到空位——最安全,默认就是它

八、不同桶 / 不同类别单独配

设置页按分了 5 张卡片,每张独立可改:

作用
插画 / 漫画 下载的静态图作品
动图(GIF 最终结果) 合成好的 .gif 文件(中间的 zip 存在应用缓存,不占用户目录)
小说 小说正文 .txt / 导出文件
备份文件 设置导出 / 书签备份
日志文件 调试日志

可以给插画走一套规则,小说走另一套——互不干扰。


九、存储后端(文件存到哪)

每张卡片顶部还有一个 chip 显示存储方式:

  • MediaStore / Pictures:存到系统的"图片"库,相册 App 能直接看到
  • MediaStore / Downloads:存到系统的"下载"库
  • SAF 自选目录:之前在 Android 系统弹窗里选过的自定义目录(比如 SD 卡某路径)
  • 应用缓存:只给中间产物用,用户配置不到

目前这一版还不支持在设置页直接改存储后端,只能通过一键预设调整。 手动切换 SAF 自选目录的入口会在后续版本加入。


十、常见问题

Q: 为什么我改了模板,老作品的文件名没变?

A: 模板只影响之后的新下载。已经下载好的文件不会被移动或重命名——那是你文件管理器的事。

Q: 模板里写了 / 但作品标题本身含 /,会出问题吗?

A: 不会。模板里的 / 是目录分隔;作品标题里如果本来就有 / \ 这类字符,会自动被替换成 _,不会意外多出一层目录。

Q: 同一个作品下载两次会发生什么?

A: 看覆盖策略:

  • 默认 重命名:出现 作品 123.jpg作品 123 (1).jpg
  • 跳过:第二次直接不下载
  • 覆盖:第二次覆盖第一次

Q: 文件名能多长?

A: 每个路径段上限 200 字节(UTF-8 编码)。超出会自动截断,扩展名优先保留.jpg 不会被切掉)。

Q: {created}{created:...} 有什么区别?

A: 光写 {created} 会用默认格式 yyyyMMdd_HHmmss(紧凑时间戳);加 :格式 自定义,比如 {created:yyyy-MM} 只拿到年月。

Q: 模板写错了会不会把我的文件弄乱?

A: 不会。保存前会校验语法,失败会弹 toast 拒绝保存,原配置不动。即使保存成功,下载时还会做一次字符清洗兜底——不会生成真的非法路径。

Q: 我想把配置分享给别人 / 在新设备上恢复,怎么做?

A: 目前还没做导入导出 UI。配置存在 MMKV 里,下一版本会加。


十一、语法速记卡(贴在心里)

{变量}            换成真实内容
{变量:格式}       带格式(只有 {created} 支持)
[?标签:内容]      标签为真才出现
[?!标签:内容]     标签为假才出现
[?p>1:内容]       总页数大于 1 才出现
/                 子目录分隔

变量:id title page pages ext author author_id w h created 标签:R18 AI Original Animated


就这些。 如果看完还是晕,回到设置页点一下 "Shaft 经典" 预设,什么都不用改 。