飞书文档批量导出,一条命令把700篇文档搬回家
【免费下载链接】feishu-doc-export飞书文档导出服务项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export
周五下午,钉钉群弹出一则通知:公司要从飞书切回企业微信,历史文档请自行备份。我盯着知识库里的"共 713 篇文档",明白手动一篇篇下载是行不通的。feishu-doc-export 这个飞书文档批量导出工具,就是为了这种时刻准备的——它的作者当初和我一样,面对七百多篇文档的迁移任务,试遍了网上现成的工具,最后干脆用 .NET 自己写了一个,顺手开源了出来。
一句话说清楚它是什么:feishu-doc-export 是一个跨平台的飞书文档批量导出工具,一条命令就能把整个知识库或个人空间文件夹按原来的目录结构同步到本地,支持 docx、markdown、pdf 三种格式,实测 713 篇文档约 25 分钟跑完。适合谁?任何需要把飞书文档整体迁移、定期备份,或者转存到本地统一管理的人。不需要会写代码,照着我下面的步骤来就行。
从拿到工具到跑通:我的第一次批量导出经历
先交代"前置准备",这部分花的时间比下载程序本身久得多——飞书的安全机制决定了第三方应用得先拿到"门票"。你要去飞书开发者后台创建一个企业自建应用,开通云文档相关的几项权限(查看、导出、管理知识库等),发布版本等管理员审核,再把应用以机器人身份加进要导出的知识库。这一步的每一步都可能卡壳,我在避坑指南里细说。
拿到 App ID 和 App Secret 后,程序本体三分钟就位:
git clone https://gitcode.com/gh_mirrors/fe/feishu-doc-exportWindows 解压后是feishu-doc-export.exe,Linux 和 Mac 用户先chmod +x一下。第一次运行我偷懒没填知识库 ID,程序直接把能访问的知识库列表打出来让我输序号——这对新手很友好,不用先搞懂 spaceId 是什么。
./feishu-doc-export --appId=我的AppId --appSecret=我的AppSecret --exportPath=/home/backup/feishu回车后,屏幕上开始一行行滚动"正在导出文档——1.【xxx】",像一条进度流水。我把它扔在后台,该开会开会。约二十五分钟后回来,命令行显示"文档已全部导出,总耗时 1523 秒",顺带列出了几篇因格式不支持或文件名超长被跳过的文档。打开导出目录,第一反应是"也太整齐了"——知识库里的层级文件夹、子页面,原封不动地躺在本地对应目录里。不想碰命令行的话,双击程序按提示一步步输入也行,两种方式我在 Windows 和 Linux 上都试过,结果一致。
三个让我觉得"这设计挺聪明"的地方
目录结构不是"摆进去"的,是"算出来"的。程序先递归遍历整个知识库,把所有文档的父子关系整理成一张 token 到路径的映射表,再按图落盘。打个比方,这就像搬家时先给书房画一张书架示意图,每本书按原位置归位,而不是把书倒进纸箱再重新排。更妙的是,知识库内部互相引用的文档,导出后会改写成相对路径——本地打开 A 文档点链接,直接跳到旁边的 B 文档,知识库的"内网"在本地依然通着。
单篇失败不会拖垮整批。每个文档的导出都单独捕获异常,失败了就跳过、记下来继续下一个,最后统一打印一份"没导成的清单"。我在网络不稳定的环境下跑过一次,中途断了两次,程序自动重试,最后只有三篇需要手动补。批量任务最需要的性格,就是这种"不追求完美、但保证不中断"的取舍。
markdown 不是"从云端直接拿",而是"二次加工"。飞书官方接口能直接给 docx,程序就先下载 docx,再用 Aspose.Words 转成 md,并整理图片和链接路径。作者很诚实地标注了这种做法的代价:引用语法、表格、行内代码块会丢。知道每个格式的短板在哪里,比一味吹嘘"全格式无损"靠谱得多——要最完整的版式,选 docx 就对了。
数据说话:25分钟700篇,和手动下载差多远
713 篇、25 分钟,是作者实测的数字,我这次跑也基本吻合。三种格式里 docx 最快,md 和它差不多,pdf 最慢(图片要内嵌进文件)。如果只是备份存档,docx 是性价比最高的选择。
| 方式 | 700篇耗时 | 目录结构 | 中途断网 |
|---|---|---|---|
| 手动一篇篇下载 | 一整天起步,手还会酸 | 全靠自己整理 | 前功尽弃 |
| feishu-doc-export | 约25分钟,后台跑 | 与知识库完全一致 | 自动重试不中断 |
另外,作者动手前调研过两个同类工具:一个网页版下载慢、打包等待长、还不支持表格;另一个一次只能下载一篇。这个工具把两个短板都补上了——表格(sheet、多维表格)会导出成 xlsx,知识库和个人空间云文档都能整批导出。
你可能踩过的坑,我先替你踩了
- 看不到知识库或报权限错误:十有八九是应用没发布上线,或者机器人没被加进知识库的"管理员"里。先查这两处,再查权限是否开全。
- Linux/Mac 上 Permission denied:忘了
chmod +x,或者没加sudo。保存文档时创建目录需要写权限。 - 导出 md 后表格、引用全乱了:这是二次转换的已知短板,不是 bug。追求版式就用 docx。
- 个别文档被跳过:常见原因是文件名超过 64 个字符或类型不支持,结尾的失败清单会告诉你具体是哪几篇,手动补一下即可。
- 导出个人空间文件夹:先把文件夹分享给自建应用,再用
--type=cloudDoc --folderToken=xxx指定。受飞书登录限制,个人空间不支持列出文件夹列表,这个工具也没有硬做。
把备份变成一件不用想的事
飞书文档的备份迁移,说白了就是"搬书"——真正累人的不是搬,是搬完之后的整理和返工。feishu-doc-export 把最脏最累的批量动作变成一条命令,剩下的时间留给真正重要的事。
下次需要把知识库整体搬走,或者想给重要文档做定期备份的时候,不妨试试这条命令。25 分钟后,你会感谢那个把 713 篇文档一键搬回家的自己。
【免费下载链接】feishu-doc-export飞书文档导出服务项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考