PPT 太多找不到?用 Obsidian 做一个“卡片式文件管理器”
- 2026-09-18 19:41:41
PPT 太多找不到?用 Obsidian 做一个“卡片式文件管理器”



订阅《Obsidian 老友记》查看详细教程 
#NoteChain #Obsidian


你有没有过这样的经历?
电脑里存了几十、几百个 PPT。
项目汇报、产品方案、技术交流、培训材料、领导讲话……时间一久,文件夹越来越多,文件名也越来越“抽象”。
最终版.pptx
最终版2.pptx
最终版_修改.pptx
最终版_真的最终.pptx
然后某一天,你突然需要找一个 PPT。
于是开始打开文件夹、搜索文件名、翻目录……
5 分钟后,终于找到了。
然后你发现:
找 PPT 本身,就已经变成了一项工作。
如果你平时使用 Obsidian 管理各种资料,其实可以换一种思路:
让 Obsidian 直接把所有 PPT 做成一个卡片式文件库。
这次我用 Datacore 查询文件,再配合 dialog_cards 卡片视图,做了一个简单的「卡片视图 - PPT」。
效果很简单:
打开一个按钮,就能看到所有 PPT,按照最近修改时间排序;输入关键词,还可以直接搜索文件名;点击卡片,就能在 Obsidian 里打开 PPT。
说白了,就是给自己的 PPT 文件夹套了一层“可视化皮肤”。

最后,把它变成一个按钮
脚本写完之后,每次还要手动运行也有点麻烦。
所以可以给它加一个按钮。
在控制台中添加:
//yamlbuttons:- - " "- "[[卡片视图 - PPT]]"- backgroundImage: "[[Pasted image 20260901091412.png]]"height: 30pxwidth: 40pxcls: mod-cta
同时给这篇脚本笔记添加:
//text#脚本笔记
这样以后就可以直接通过按钮调用。
我这里使用的按钮图片是 PointPower 图标。

最终的使用体验就很简单:
点击 PPT 按钮 → 打开卡片视图 → 搜索 → 点击 → 打开 PPT。
整个过程基本不需要思考。
// 查询所有 PPT 文件(支持 .ppt 和 .pptx)const pptFiles = await ea.file.query_tfiles_by_datacore(`@file and (lower($extension) = "ppt" orlower($extension) = "pptx")`);if (!pptFiles || pptFiles.length === 0) {new Notice("未找到任何 PPT 文件");return;}// 按修改时间倒序排序(最新的在前面)pptFiles.sort((a, b) => (a.stat.mtime < b.stat.mtime ? 1 : -1));// 构建卡片数据const cards = pptFiles.map((file) => ({name: file.basename,detail: `📁 ${file.parent.path}\n📅 ${new Date(file.stat.mtime).toLocaleString()}`,// 不显示图片action: async () => {// 在 Obsidian 中打开该文件const leaf = app.workspace.getLeaf(true);await leaf.openFile(file);},}));// 使用卡片视图展示const result = await ea.dialog_cards(cards, {width: 1200,height: 800,cardWidth: 240,cardHeight: 160,searchPlaceholder: "🔍 搜索 PPT 文件名...",layout: "card",});// 如果用户点击了卡片,卡片本身的 action 已经处理了打开文件// result 会返回选中的卡片项,但这里不需要额外操作if (result) {// 卡片已通过 action 打开,无需额外处理}

本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。