我使用dataviewjs脚本自动管理数据。但随着程序扩大,有一些功能需要调用系统中的其他程序,例如python。
我希望将所有脚本文件集中保存在Obsidian库中,同时允许dataviewjs调用外部程序读取库内的脚本。
但是dataviewjs中没有将Obsidian笔记路径转换为系统绝对路径的方法,我无法将脚本文件传出。
而且默认的运行目录是\AppData\Local\Obsidian
而不是库所在目录,我也无法得知库的位置从而转换路径。
例:
const { exec } = require('child_process');
const script = ".../some_script.ps1"; // PowerShell脚本
let div = dv.el("div", null)
exec(`powershell ${script}`, (error, stdout, stderr) => {
div.innerHTML = `输出:${stdout}`;
});