创建文件时,根据文件夹下文件数量,自动重命名新文件

如图,我在使用 obsidian 实践网文写作的时候,发现创建文件的时候就可以根据章节数量自动重命名新建文件,减少命名时对灵感的打扰。

由于我本人习惯只使用数字作为名字,具体章节名称写在文件里面,这样感觉还挺方便整洁的,就是有一个问题。新建文件自动重命名后,ob 的重命名弹窗还是自己会弹出来,要手动点取消,不知道有没有解决的办法……

下面附上 templater 的实现代码:

<%*

  // 获取当前文件的文件夹路径
  const folderPath = tp.file.folder (true);
  const folder = app.vault.getAbstractFileByPath (folderPath);

  if (folder && folder. children) {
    // 获取文件夹下的所有文件,过滤掉文件夹,仅保留文件
    const filesInFolder = folder.children.filter (f => f.extension);

    // 统计文件数量
    const fileCount = filesInFolder. length;

    // 根据文件数量决定格式化位数
    const numDigits = fileCount >= 100 ? 3 : 2;
    const newFileName = String (fileCount). padStart (numDigits, '0');  // 格式化为两位或三位数,如 01 或 101

    // 重命名当前文件
    await tp.file.rename (newFileName);
  } else {
    console.error ("重命名失败");
  }
%>

创建模板后,设置为新建文件时自动运行即可。

之前 QuickAdd 有个类似的你可以看看能不能解决重命名弹窗的问题 【已解决】新建笔记自动命名增加章节序号 #11