系统文件资源管理器双击打开已索引的 Obsidian Markdown 文件

【建议】支持简单编辑单个 Markdown 文件 中提到英文论坛的帖子,#125 有人分享 Shell 代码。搜索结果说 Shell 只适用 Mac 和 Linux 系统,为 Windows 系统使用我写了 .bat。

代码原理同英文论坛,双击一个 .md 文件时,
在已建立索引的前提下,用上级最近的库打开该 MD,若不在库用其他软件打开。

或许可以将不在库的代码改为用 mklink 软链接到某个库,编辑完后再清除或不清除下次继续用,这样不在库的 MD 文档也可以用 Obsidian 打开。不清楚有无损害,仅提供思路。

蓝奏云下载链接 密码: 7mcr,选择“obDefault2exe”。解压,文件夹内提供了全部所需。

  • 步骤:打开文件夹内的 obDefault.txt,填写想用来打开不在库 MD 的软件路径。每个人用的软件和安装路径都不一样,只能自己填。修改完成后保存。

    注意路径中间有空格的部分用 " 包裹,参考代码示例:

  • 将 .txt 后缀改为 .bat。打开文件夹内的 SlimmBattoExe.exe。

    • 想换 Icon,将你的 .ico 命名为“obDefault”,放在和楼主准备的图标同样的位置。
    • 选择 Windowless Express,选择你修改好的这个 .bat。
    • .exe 将生成在同文件夹。若一开始图标未显示,先继续完成后续配置步骤。
  • .md 文件右键 - 打开方式 - 其他应用 - 下滑底部“在电脑上选择应用” - 选择你生成的 .exe 打开 - 选择“始终”。

该方法免安装,除添加打开方式外不修改注册表,最终只会生成一个 exe 文件,轻量便携。

相关:批处理 for 语句从入门到精通

补充:第一句话提到的 Shell 是狭义的,因为 Mac 把自己的 CMD 代码称为 Shell,英文论坛帖子也是称自己的为 Shell 代码。只说 Shell 作为英文单词,能代指的就多了。这些都是搜索引擎显示的内容,如果哪点误导了,希望专业人士跟帖指正。

2 个赞

双击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

1 个赞

@autumn_1992 @wilson 最后还是想办法打包成 exe 了。#1 已更新。

不懂shell编程啥的,但这个能在win下用 GitHub - Chaoses-Ib/ObsidianShell: Associate Markdown files with Obsidian

那个我测试过,好像不能打开库外的文档,下载下来文件较多,封装好的软件难自行微调改进。

#1 方法免安装,最终只会生成一个 exe,也不需要懂 Shell 编程。若愿意想加点功能也容易。

如果说的是填软件路径那步,每个人用的软件和安装路径都不一样,只能自己填。

最初帖子只是提供 Batch 代码,可查看历史记录直接复制粘贴,也不用打包,看个人需求。

不知道你怎么测试的,但是这个只要在release里下载exe文件,然后安装好,之后将md文件与这个软件关联上就好了

至于库外的文件,开发者提供的三种模式,第一种模式就和你的逻辑是一样的,也可以在配置文件里改md编辑器

你能用就行。我这个是不用安装的。

你在 #6 提到的软件,就是我在 #1 提到的英文论坛帖子的 #45 嘛。

本经验分享话题最初只是分享 Batch 代码,那个不用打包,看个人需求可查看历史记录直接复制粘贴,最后还是想的办法怎么才能打包成 exe 的,积累这类经验于我无益,我也觉得合适的情况下应尽可能留待专业人员。

1 个赞

嗯是的,因为我也是之前从一楼提到的英文帖子里看到了这个软件,并且使用了很长一段时间了

而且我就是win,所以对于一楼说到的
“搜索结果说 Shell 只适用 Mac 和 Linux 系统,为 Windows 系统使用我写了 .bat。”
提出来这个软件。

另外这个软件有免安装便携版,github上说的很清楚,只是我更喜欢使用安装版本。

楼主自己遇到问题自己写代码解决,并且把完整的解决方案分享在论坛上帮助更多的使用者,值得点赞

之前就试过便携版,刚才又试了,还是不能打开库外的文档。

不过既然层主用了很长时间了,可能只是我比较倒霉吧。