批量转换
硬盘里攒了几百上千份论文、报告、录音,想一次全转成 Markdown,用 42md batch。它和 42md <文件> 走同一套转换,PDF、Office、电子书、图片、音频、网页都能处理,另外多了几样大批量时用得上的保障:个别文件卡住不拖垮整批,跑断了再运行一次就接着来。
最短的一条命令
默认只转这个目录本层的文件。子文件夹里的也要转,加 -r;想限制往下走几层,用 --max-depth(自带递归,不用再加 -r;0 表示只转本层):
也可以直接列出多个文件或目录:
不写 -o 时,产物就近写到每个输入所在目录的 _output/ 下。
单篇超时,自动跳过
每篇转换都有时间上限,默认 60 秒。超时的文件记为失败、跳过,批量继续往下跑。遇到特别大的文档,可以调大,或设成 0 不限时:
超大文档也可以配合 --pages 只转前几页:
跑断了,接着跑
电脑睡眠、误按 Ctrl-C、临时关机都没关系。用同一个 -o 目录再运行一次同样的命令,已经转好、产物完整的文件会自动跳过,从断的地方接着往下:
续传要靠 -o 指定的输出目录记录进度,不写 -o 时每次都从头转。
从网址清单批量转换
链接不在本地、只有一串网址时,把它们写进一个文本文件,每行一个 http:// 或 https:// 链接,空行和 # 开头的注释行会跳过。比如 网址清单.txt:
然后交给 --from-list,这时必须写 -o:
42md 会边下载边转换,PDF 链接按 PDF 转,其他按网页正文转;清单里的 arXiv 论文请直接写 PDF 链接(arxiv.org/pdf/…)。同样支持断点续传。
- 网址清单只做免费提取,不接受
--ocr=smart或--ocr=force。接了本地引擎时,提取不出文字的 PDF 会自动在本机识别,零计费。 - 下载并发默认 16 路,可用
--download-workers调整;它和转换并发-w分开设置。
贴一个书单,逐本导入
在豆瓣上看到一个书单(豆列),不用一本本复制网址。把书单网址交给 --expand:
42md 先只读书单页本身,把里面的书列出来;库里已经有的会标「已在库里」。默认全选,回车就开始导入;想去掉几本,就输入它们的序号(如 3,5 或 3-5);输入 n 取消。确认后,每本书各建一条图书条目,带书名、作者、出版社、ISBN 和豆瓣的详情网址。
- 库里已经有的默认跳过,不重复建。想重新取一遍、原地更新,加
--refresh。 - 一本一本取,同一网站每次间隔 5 秒;一个书单一次最多展开 50 本,可以用
--expand-max调小。 - 网站要求验证时就停下,已经读到的照样列出来,稍后可以再试。
- 只想看看书单里有什么、先不导入,加
--list-only;再加--json可以拿到机器可读的清单。 - 目前认得出的列表页是豆瓣书单,只导入其中的图书,电影、音乐等条目会跳过并告诉你有几条。
常用选项
录音转文字的参数(--speaker、--hotwords、--timestamps、--punctuate、--language、--asr-model)在批量里同样可用,见 。热词在批量里建议用 @文件 的写法。
计费
和单个文件一样:文档和数字 PDF 直接提取免费;扫描件识别、录音转录花点数(识别 3 页 1 点、转录 3 分钟 1 点),开始前会先确认。接上本地引擎后,识别和转录都在本机跑,不花点数:
下一步
- 一次转完的 Markdown 存进云端知识库:
- 转完再翻译、出摘要,串成一条流程:
- 全部参数: