# Mole CLI for Windows 和 Mole for Windows 有什么区别

Windows 上有两个都叫 Mole 的程序，Mole CLI for Windows 是免费开源的 PowerShell 工具，GPL-3.0 协议，在终端里输入 `mo` 启动，Mole for Windows 是付费的原生桌面应用，有五个页面和一个托盘图标。它们不是同一个产品的试用版和完整版，而是分开写的两个程序，装哪一个都不需要另一个。这篇讲清两者差在哪、各自从哪里下载，以及两个都装时要注意什么。

## 一张表看区别

| | Mole CLI for Windows（`mo`） | Mole for Windows |
| --- | --- | --- |
| 授权 | 免费开源，GPL-3.0 | 付费应用，单独的许可证 |
| 价格 | 免费 | [一次买断](/windows#pricing)，可用两台 Windows 电脑 |
| 安装 | `scoop install mole`，或 [GitHub windows 分支](https://github.com/tw93/Mole/tree/windows)里的安装脚本 | 只从 [mole.fit/windows](/windows) 下载安装包 |
| 系统 | Windows 10 和 11，Windows PowerShell 5.1 | Windows 10 22H2 和 Windows 11，x64 与 Arm64 |
| 删除前 | `--dry-run` 打印计划 | 审阅列表，每一行可以勾选或留下 |
| 删除方式 | `clean` 和 `purge` 直接永久删除，卸载残留进回收站 | 卸载残留进回收站，注册表项先备份，缓存按设置里的删除方式 |
| 保护路径 | `mo clean --whitelist`，存在 `%USERPROFILE%\.config\mole` | 排除项存在 `%LOCALAPPDATA%\Mole` |
| 只有终端有 | `mo purge`、`--dry-run`、`mo history --json`、写脚本 | - |
| 只有应用有 | - | 通过 winget 更新软件、启动列表、磁盘地图、实时状态、托盘工具 |

## 各自从哪里来

CLI 发布在 [tw93/Mole 仓库](https://github.com/tw93/Mole/tree/windows)的 `windows` 分支和 Scoop 里，`scoop install mole` 装的是 CLI，不是桌面应用。仓库里也有脚本安装方式，想先读代码，可以克隆这个分支看完再运行 `install.ps1`。

桌面应用只从 [mole.fit/windows](/windows) 下载，SmartScreen 弹出提示时，发布者应该是 Faberon Technology Limited，发布者为空或不一致时删掉这份文件重新下载。

仓库里写明了 Mole 只通过 GitHub、Scoop 和 mole.fit 分发，提供「基于 Mole」的应用、或者让你把一串编码过的命令粘进终端的网站，都不是 Mole。名字像也说明不了什么，有几个不相干的项目名字里同样带着 mole。

## 两者不共用的东西

在 Mac 上，Mole CLI 和 Mac 版 Mole 共用磁盘上的保护名单和操作日志，Windows 不一样，CLI 把白名单和 `operations.log` 放在 `%USERPROFILE%\.config\mole`，应用把排除项、统计和注册表备份放在 `%LOCALAPPDATA%\Mole`，在一边保护了某个文件夹，另一边并不知道。

许可证也是分开的，Mac 版许可证激活不了 Windows 版，免费的 CLI 也解锁不了应用里的任何功能。同一台电脑两个都用时，保护路径要在两边各设一次，也不要同时在两边跑清理，它们运行时互相不协调。

## 只有终端能做的

`mo purge` 扫描项目文件夹里的构建产物并永久删除，扫哪些文件夹用 `mo purge --paths` 设定。桌面应用没有对应功能，它的清理列表管的是包管理器缓存，不碰项目里的构建目录。

要写脚本也只能用 CLI，`mo clean`、`mo uninstall`、`mo optimize` 和 `mo purge` 都支持 `--dry-run`，只打印要做什么，不改任何东西。`mo history --json` 把操作日志变成数据，`mo analyze D:\` 分析另一块盘，以管理员身份运行 PowerShell 时 `mo clean --system` 会加上系统级清理，没有管理员权限，这些系统步骤会被跳过。

真正运行前先读一遍 dry run 的输出，`clean` 和 `purge` 不经过回收站，跑完以后只有备份能找回来。

## 只有应用能做的

应用是给更愿意看列表、不想读命令输出的人做的，清理页在改动任何东西之前列出每一行，会重新生成的缓存默认勾上，存着离线下载、设置或个人数据的文件夹等你自己决定，正在使用的缓存会跳过。

卸载先运行软件自己的卸载器，成功以后 Mole 才处理你选中的残留，残留文件进回收站，注册表项删除前先在 `%LOCALAPPDATA%\Mole\backups` 存成 `.reg` 文件，需要时可以导回去。浏览器配置、邮件配置和聊天记录默认不勾，只有你自己勾选，或点了「全选」「一并移除用户数据」才会删除。

软件页还能通过 winget 检查和更新其他软件，列出登录时启动的程序，安全、设备管理、VPN 和代理相关的启动项保持锁定。分析页把一块盘或一个文件夹画成可以逐层点开的地图，状态页显示 CPU、内存、磁盘和网络，以及背后是哪个进程，托盘里随手就能打开保持常亮和清洁屏幕。遇到问题时，运行诊断会生成一份报告，发送前可以先自己看一遍。

## 怎么选

平时就在 PowerShell 里干活、想先看 `--dry-run`、要给脚本喂 JSON、需要清项目构建产物，或者只是不想花钱，就装 CLI。先跑 `mo clean --dry-run`，它什么都不删，看完输出大概就知道这台电脑有没有值得处理的问题。

想要审阅列表、带回收站和注册表备份的卸载、软件更新和启动列表，或者是给一个永远不会打开终端的人装，就买应用。各付费工具购买前可以先试用两次，购买后 14 天内可以退款，下载、激活和恢复步骤见 [Windows 帮助](/zh/windows/help)。

如果想拿 Mole 和其他清理工具比，而不是和它自己比，可以看 [CCleaner 替代工具指南](/zh/windows/blog/ccleaner-alternatives-windows)。


Canonical: https://mole.fit/zh/windows/blog/mole-cli-vs-windows-app
