批量提取.mobi格式漫画文件中的图片

Published on 2024-08-20 15:17 in 分类: 软件 with 狂盗一枝梅
分类: 软件

一、程序脚本

有很多mobi格式的漫画资源,放到kindle中看又不是很爽,研究了一下,找到了一个批量解析mobi文件中的图片并自动压缩成zip压缩包的方法,完整的bat批处理文件的内容如下

@echo off

for %%f in (*.mobi) do (
echo "start handle %%f"
python D:\ProgramFiles\KindleUnpack-081\lib\kindleunpack.py "%%f"
   echo "start compress"
   D:\ProgramFiles\WinRAR\WinRAR.exe  a -y -ep1 "%%~nf.zip" "%%~nf\mobi7\Images\*"
   rd /s /q "%%~nf"
)

pause

以上脚本中的kindleunpack.py文件路径以及WinRAR文件路径需要自行替换。

将该脚本放在和mobi文件同一个目录下运行,运行效果是这样的

动画4

运行原理:

该脚本会首先使用kindleunpack.py工具类将mobi文件解析出来,解析到同名的目录中,解析完了之后,提取出漫画图片,利用WinRAR中的程序WinRAR.exe打包成同名压缩包。

所以要想运行该脚本,需要满足以下几个条件:

1、已安装最新python程序

2、已安装WinRAR

3、下载好mobi解析程序kindleunpack

二、依赖安装和配置

python和WinRAR的安装很简单,不赘述。说下其它细节。

1、kindleunpack下载

下面是 KindleUnpack 项目及其 Calibre 插件发布地址,可以在这里获取最新版本:

下面是 KindleUnpack 各个版本的下载链接,请根据自己所使用的系统选择下载:

以上内容来源于文章:《KindleUnpack:拆解 Kindle 电子书文件的利器》

下载带界面的 pyw 格式 Python 脚本,解压即可看到kindleunpack.py

2、WinRAR

WinRAR下载好之后打开安装目录,即可看到WinRAR.exe文件,关于WinRAR命令行中的具体使用方式,可以参考同目录下的WinRAR.chm帮助文档。

它的基本命令语法格式:WinRAR <命令> -<参数1> -<参数N> <压缩文件 > <文件...> <@列表文件...> <解压路径>

例如这里我想压缩文件使用的命令:D:\ProgramFiles\WinRAR\WinRAR.exe a -y -ep1 "%%~nf.zip" "%%~nf\mobi7\Images\*"

  • a:参数添加文件到压缩文件的意思
  • -y:如果有交互询问,则回应“是”
  • -ep1:从名称中排除主文件夹,不要存储或解压在命令行所输入的路径。

肯定会有人问,为什么不用rar.exe,rar.exe是同安装目录下的“命令行版”WinRAR,在命令行中使用它岂不是更合适?

WinRAR.exe和rar.exe用法差不多,但是它们有个很要命的差别:rar.exe不支持zip压缩,即使指定了压缩文件名后缀为zip,它的格式实际上还是rar类型,为此我还踩了坑。。。WinRAR开始菜单中有命令行使用手册

image-20240821094445708

它明确指出了: RAR 只支持 RAR 格式压缩文件,它默认有 .rar 扩展名。不支持 ZIP 和其他格式。即使创建压缩文件时指定了 .zip 扩展名,它仍然是 RAR 格式的。Windows 用户可以安装 WinRAR,它支持更多的压缩文件类型,包括 RAR 和 ZIP 格式。

所以要想在命令行中压缩zip,还是得使用WinRAR而不能使用rar。



END.


#电子书 #漫画
目录
复制 复制成功