使用bat命令文件一键新建学科文件夹以及dataview目录文件

功能介绍 lulucall

今天突发奇想,既然Obsidian是本地化的,那么我就可以用cmd来对里面的文件进行操作了,于是有了以下功能的命令。

如图,当我点击图中的folder.bat文件时,会弹出cmd窗口让我输入文件夹的名字。

image

我以输入文件夹名为test为例。

按下enter键后,就会发现,”wc!多了一个文件夹。“

让我们打开这个文件夹看看里面有什么吧。luluwhat

image

文件夹里面是这样的,打开TestNote看看

TestNote的内容如图。
其中的Dataview会筛选出Note文件夹内含有标签”TestNote“的文件,也就是说,当我新建一个笔记,加上”TestNote“的tags后,TestNote就会筛选出这个笔记,即,TestNote可以作为目录文件。

实现 lulumua

要实现这个效果,首先你当然要下载dataview插件了。
其次,你需要将一个bat文件拖拽到你的Obsidian的Terminal文件夹下(个人习惯,接下来提供的bat文件内容也会根据这个实现)。
bat文件的内容是

@echo off
set /p folderName=FolderName: 

cd ..
md %folderName% && cd %folderName% && md Note && md Attachment

cd Note

echo --->> "%folderName%Note.md"
echo tags: >> "%folderName%Note.md"
echo   - %folderName% >> "%folderName%Note.md"
echo   - %folderName%Note >> "%folderName%Note.md"
echo   - section >> "%folderName%Note.md"
echo done: true >> "%folderName%Note.md"
echo --->> "%folderName%Note.md"
echo. >> "%folderName%Note.md"
echo ```dataview >> "%folderName%Note.md"
echo table without id >> "%folderName%Note.md"
echo file.link as "" >> "%folderName%Note.md"
echo from "%folderName%/Note" >> "%folderName%Note.md"
echo where contains(file.tags,"%folderName%Note") >> "%folderName%Note.md"
echo where file.name!="%folderName%Note" >> "%folderName%Note.md"
echo ``` >> "%folderName%Note.md"

echo Done
pause

新建文本文件,将上面的内容复制到文本文件里面,然后另存为folder.bat就可以啦!

如还有问题欢迎提问。

lulunya

3 个赞

怎么不是./scripts :rage: