【建议】支持简单编辑单个 Markdown 文件 中提到英文论坛的帖子:
#125 有人分享 Shell 代码,适用 Mac 和 Linux。
双击md文件后,不想弹出cmd窗口,请问应该如何修改代码呢?
可以改成vbs版本就不闪现了,或者用vbs打开bat,并设置为隐藏
比如,将下面的代码保存为xxx.vbs,并修改xxx.bat改成你自己的bat名字,直接运行vbs或加到右键菜单中。
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run "%comspec% /c xxx.bat", 0
当让,如果你愿意,完全用vbs实现也是可以的。
或者也可以把bat编译为exe
或者用 hidecmd.exe执行。下载地址:Releases · agowa/hidecmd · GitHub
不懂shell编程啥的,但这个能在win下用 GitHub - Chaoses-Ib/ObsidianShell: Associate Markdown files with Obsidian
不知道你怎么测试的,但是这个只要在release里下载exe文件,然后安装好,之后将md文件与这个软件关联上就好了
至于库外的文件,开发者提供的三种模式,第一种模式就和你的逻辑是一样的,也可以在配置文件里改md编辑器
嗯是的,因为我也是之前从一楼提到的英文帖子里看到了这个软件,并且使用了很长一段时间了
而且我就是win,所以对于一楼说到的
“搜索结果说 Shell 只适用 Mac 和 Linux 系统,为 Windows 系统使用我写了 .bat。”
提出来这个软件。
另外这个软件有免安装便携版,github上说的很清楚,只是我更喜欢使用安装版本。
楼主自己遇到问题自己写代码解决,并且把完整的解决方案分享在论坛上帮助更多的使用者,值得点赞
之前就试过便携版,刚才又试了,还是不能打开库外的文档。
不过既然层主用了很长时间了,可能只是我比较倒霉吧。
很好用!感谢大神
20260113 更新:
可以通过插件注册的方式自定义 URI 实现多样化的打开。示例 main.js 代码如下:
const ob = require('obsidian')
module.exports = class extends ob.Plugin {
onload() {
uri_1(this)
}
onunload() {}
}
const uri_1 = (plg)=> {
const { app } = plg
const ptc = 'open-tab'
plg.registerObsidianProtocolHandler(ptc, async (uri)=> {
if (uri.action != ptc) return
if (uri.file) {
const file = app.metadataCache.getFirstLinkpathDest(uri.file, uri.file)
await app.workspace.getLeaf('tab').openFile(file)
}
})
}
加载插件重启 Ob 一次后,obsidian://open-tab? 的 URI 将会默认在新标签页打开。
哇原来通过插件就能自定义uri
一个小纠正,是URI,不是URL