跳转到主内容
全部文档

批量转换

硬盘里攒了几百上千份论文、报告、录音,想一次全转成 Markdown,用 42md batch。它和 42md <文件> 走同一套转换,PDF、Office、电子书、图片、音频、网页都能处理,另外多了几样大批量时用得上的保障:个别文件卡住不拖垮整批,跑断了再运行一次就接着来。

最短的一条命令

bash
42md batch ~/论文 -o ~/论文-md

默认只转这个目录本层的文件。子文件夹里的也要转,加 -r;想限制往下走几层,用 --max-depth(自带递归,不用再加 -r;0 表示只转本层):

bash
42md batch ~/论文 -r -o ~/论文-md
bash
42md batch ~/论文 --max-depth 2 -o ~/论文-md

也可以直接列出多个文件或目录:

bash
42md batch 报告1.pdf 报告2.docx ~/扫描件 -o ~/输出

不写 -o 时,产物就近写到每个输入所在目录的 _output/ 下。

单篇超时,自动跳过

每篇转换都有时间上限,默认 60 秒。超时的文件记为失败、跳过,批量继续往下跑。遇到特别大的文档,可以调大,或设成 0 不限时:

bash
42md batch ~/论文 -o ~/论文-md --timeout 120

超大文档也可以配合 --pages 只转前几页:

bash
42md batch ~/论文 -o ~/论文-md --pages 1-5

跑断了,接着跑

电脑睡眠、误按 Ctrl-C、临时关机都没关系。用同一个 -o 目录再运行一次同样的命令,已经转好、产物完整的文件会自动跳过,从断的地方接着往下:

bash
42md batch ~/论文 -o ~/论文-md

续传要靠 -o 指定的输出目录记录进度,不写 -o 时每次都从头转。

从网址清单批量转换

链接不在本地、只有一串网址时,把它们写进一个文本文件,每行一个 http:// 或 https:// 链接,空行和 # 开头的注释行会跳过。比如 网址清单.txt:

text
# 要收的论文和文章https://arxiv.org/pdf/1706.03762https://example.com/report.pdfhttps://example.com/article

然后交给 --from-list,这时必须写 -o:

bash
42md batch --from-list 网址清单.txt -o ~/网页-md

42md 会边下载边转换,PDF 链接按 PDF 转,其他按网页正文转;清单里的 arXiv 论文请直接写 PDF 链接(arxiv.org/pdf/…)。同样支持断点续传。

  • 网址清单只做免费提取,不接受 --ocr=smart 或 --ocr=force。接了本地引擎时,提取不出文字的 PDF 会自动在本机识别,零计费。
  • 下载并发默认 16 路,可用 --download-workers 调整;它和转换并发 -w 分开设置。

贴一个书单,逐本导入

在豆瓣上看到一个书单(豆列),不用一本本复制网址。把书单网址交给 --expand:

bash
42md batch --expand https://www.douban.com/doulist/165203967/

42md 先只读书单页本身,把里面的书列出来;库里已经有的会标「已在库里」。默认全选,回车就开始导入;想去掉几本,就输入它们的序号(如 3,5 或 3-5);输入 n 取消。确认后,每本书各建一条图书条目,带书名、作者、出版社、ISBN 和豆瓣的详情网址。

  • 库里已经有的默认跳过,不重复建。想重新取一遍、原地更新,加 --refresh。
  • 一本一本取,同一网站每次间隔 5 秒;一个书单一次最多展开 50 本,可以用 --expand-max 调小。
  • 网站要求验证时就停下,已经读到的照样列出来,稍后可以再试。
  • 只想看看书单里有什么、先不导入,加 --list-only;再加 --json 可以拿到机器可读的清单。
  • 目前认得出的列表页是豆瓣书单,只导入其中的图书,电影、音乐等条目会跳过并告诉你有几条。

常用选项

选项作用
-w <数量>转换并发数。默认按机器核心数和内存自动选,内存紧张的电脑会自动放慢
--images连同 PDF 里的图片一起导出。批量默认不导,省内存、更快
--json每个文件输出一行 JSON,方便脚本读取产物路径、页数、提示
--ocr=<档位>扫描件识别档位,见
--engine local强制用本地引擎识别和转录,连不上就报错,不会改走云端
-y跳过付费操作的确认,适合无人值守的脚本

录音转文字的参数(--speaker、--hotwords、--timestamps、--punctuate、--language、--asr-model)在批量里同样可用,见 。热词在批量里建议用 @文件 的写法。

计费

和单个文件一样:文档和数字 PDF 直接提取免费;扫描件识别、录音转录花点数(识别 3 页 1 点、转录 3 分钟 1 点),开始前会先确认。接上本地引擎后,识别和转录都在本机跑,不花点数:

bash
42md batch ~/扫描件 -o ~/扫描件-md --ocr=smart --engine local

下一步

  • 一次转完的 Markdown 存进云端知识库:
  • 转完再翻译、出摘要,串成一条流程:
  • 全部参数: