PKMer_QuickAdd 脚本 - 移动子笔记或附件到当前文件夹

从楼上截图来看, 是 ![[subfolder/filename.jpg]] 路径里带了上层文件夹, 所以没能在脚本的 getFilePath(files, baseName) 逻辑里检测到这附件也存在

最好的办法就是笔记里永远写简单的 ![[filename.jpg]] 格式就行了

如果一定要维持笔记里是 ![[subfolder/filename.jpg]] 且能确保库里没有重名附件 (笔记和附件最好也不重名), 那可以考虑把脚本如下段落稍微改改:

function getFilePath(files, baseName) {
    // 下一行的原先 baseName => 改成 path.basename(baseName)
    let files2 = files.filter(f => path.basename(f.path).replace(".md", "") === path.basename(baseName).replace(".md", ""));
    let filePath = files2.map((f) => f.path);
    return filePath[0];
}

注: 本人并非原作者, 笔记和附件的相互链接关系很复杂, 可能有理解不到位的地方, 建议大型仓库执行大规模移动前要备份

1 个赞