如何在 Windows 上卸载 Obsidian
Obsidian 的仓库是笔记所在的文件夹,不管你把它放在哪里,卸载应用都不会动它,以后重装还能重新打开。Obsidian 自己的数据文件夹放的是全局设置,不是你的笔记,想重装后保留同样的设置的话,也先备份好这个文件夹。这份指南覆盖用 Obsidian.Obsidian winget 包按用户安装的 Obsidian。
先退出 Obsidian
保存好正在编辑的笔记,关闭所有 Obsidian 窗口,卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 Obsidian.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Obsidian,选择卸载,或者运行:
winget uninstall --id Obsidian.Obsidian
先备份你的仓库
退出前先在 Obsidian 里找到当前仓库的位置,把整个文件夹复制一份,连同里面隐藏的 .obsidian 子文件夹一起,那里放着设置、快捷键和插件。卸载应用本身不会动仓库,但动手前还是先备份好。
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
每个仓库自己的 .obsidian 文件夹 |
这个仓库的设置、快捷键、主题和社区插件 | 跟仓库放在一起,留着 |
%APPDATA%\Obsidian |
全局设置和缓存,不是你的笔记 | 想重装后保留同样的设置就先备份,想从头开始删掉也没关系 |
%LOCALAPPDATA%\obsidian-updater |
下载好的更新安装包 | 可以删 |
检查结果
卸载完成后运行下面几条只读命令:
Get-Process Obsidian -ErrorAction SilentlyContinue
winget list --id Obsidian.Obsidian
Test-Path "$env:LOCALAPPDATA\Programs\obsidian"
Test-Path "$env:APPDATA\Obsidian"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了,列出一行说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了,返回True说明那里还有文件。 Test-Path "$env:APPDATA\Obsidian"返回True,说明全局设置和缓存都还在,只要你没有自己删掉,这就是正常的,你的仓库不管放在哪里都是分开的,不受这个影响。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个卸载器,删的是同一批程序文件,它不会主动动 %APPDATA%\Obsidian 或任何仓库。
Mole 会列出什么
对按用户安装的 winget 版 Obsidian:
- 程序目录、开始菜单快捷方式、
obsidian://链接登记,以及一行汇总 Windows 自己记录的打开次数,默认都勾选。 %APPDATA%\Obsidian会列出,但默认不勾选,因为里面是全局设置,它里面的缓存单独列出并默认勾选。%LOCALAPPDATA%\obsidian-updater里只有下载好的更新安装包,默认勾选。- 仓库永远不会列出,因为它们都在你自己选的文件夹里。
这次检查覆盖了什么
测试的是通过 winget 按用户安装的 Obsidian 1.13.7。测试过程中没有创建仓库,所以仓库备份、重装后重新打开这条路径没有完整测试。
