自动化软件
一键打开此Folder下所有文件
插件ID:%E4%B8%80%E9%94%AE%E6%89%93%E5%BC%80%E6%AD%A4folder%E4%B8%8B%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6
%E4%B8%80%E9%94%AE%E6%89%93%E5%BC%80%E6%AD%A4folder%E4%B8%8B%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6
%E4%B8%80%E9%94%AE%E6%89%93%E5%BC%80%E6%AD%A4folder%E4%B8%8B%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6:用于一键打开当前文件所在目录下的,所有Markdown文件
一键打开此 Folder 下所有文件
一、此脚本产生的背景,解决的问题
- 场景:我打开了一个Markdown文件;如上图,我们打开一个,是当前激活文档
- 需求:此时,我们还要直接打开其他,此文件夹下面所有的文档
- 用处:快速查看这一类的文件,因为我们的文件夹,一般都是我们自己进行过初步整理,命名了
- 我的操作:我用于复习,我觉得某个文件夹里的内容,我有些忘记了,我会全部打开,直接复习,一个个看,看完一个就ctrl + W关闭一下
- 脚本的原因: 因为系统没这个命令
- 脚本的结果: 把这个需求 ,做到系统命令里面了的,如下图
二、 使用需要的条件
- 脚本文件,就是一个 .js文件,由我提供, ,即如下的代码,存为 “XXXX.js” ; 比如我的是:”打开当前文件所在文件夹目录下所有md文件.js“
- quickadd插件
module.exports = async function (params) {
const { app } = params;
// 获取当前激活的文件
const currentFile = app.workspace.getActiveFile();
if (currentFile) {
// 获取当前文件的路径
const filePath = currentFile.path;
// 获取当前文件所在的文件夹路径
const folderPath = filePath.split("/").slice(0, -1).join("/");
// 如果当前文件在根目录下,则忽略
if (folderPath === "") {
console.log("当前文件在根目录下,忽略操作。");
} else {
// 获取指定文件夹下的所有文件,并过滤出 .md 文件
const filesInFolder = app.vault.getFiles().filter(file => {
return (
file.path.startsWith(folderPath + "/") && // 在目标文件夹下
!file.path.slice(folderPath.length + 1).includes("/") && // 忽略子文件夹
file.extension === "md" // 只保留 .md 文件
);
});
// 输出符合条件的文件
if (filesInFolder.length > 0) {
console.log("符合条件的文件:", filesInFolder.map(file => file.name));
// 获取当前已经打开的文件
const openedFiles = app.workspace.getLeavesOfType("markdown").map(leaf => leaf.view.file);
// 打开所有符合条件的 .md 文件(如果未打开)
for (const file of filesInFolder) {
if (!openedFiles.includes(file)) { // 如果文件未打开
await app.workspace.openLinkText(file.path, "", true); // 打开文件
}
}
} else {
console.log("该文件夹下没有符合条件的 .md 文件。");
}
}
} else {
console.log("没有找到当前激活的文件。");
}
};
三、 如下截图,是 相关设置
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。