
相信很多 Windows 用户都经历过这样的绝望时刻:360安全卫士明明很久以前就卸载了,但在 Windows 11 的“程序和功能”里依然阴魂不散。当你试图点击卸载时,系统却无情地提示“卸载程序已损坏”。
由于 360 等安全软件在卸载时往往会留下深层的注册表项、被锁定的 DLL 文件甚至内核驱动残留,常规的清理手段很难奏效。最近,我尝试用 Claude Code 来解决这个顽疾,仅仅用了一句大白话提示词,它不仅帮我理清了复杂的系统底层逻辑,还自动编写了 PowerShell 脚本,完美实现了“降维打击”。
今天就把这次“人机协作”清理 360 残留的全过程分享给大家。
我没有写任何复杂的指令,只是把遇到的困境原原本本地告诉了 Claude Code:
我的提示词: “360安全卫士很早之前就已经卸载了,但是windows11的 程序和功能里面还有,我点击卸载提示已经损坏,你能不能帮我清理掉。”
收到指令后,Claude Code 并没有盲目删除,而是展现出了极强的“排查逻辑”,开始像一位资深系统工程师一样层层递进:
它首先通过 Shell 命令在注册表中找到了残留的卸载项,并确认了 C:\Program Files (x86)\360\360Safe 目录下还残留着约 51.2 MB 的程序文件和损坏的卸载器。同时,它排除了残留服务和驱动的可能性。
在动手前,它自动将注册表卸载项备份到了桌面(360Safe-uninstall-backup.reg),然后编写并运行了 cleanup360.ps1 脚本。这一步非常丝滑地删除了注册表项,让“程序和功能”里的 360 彻底消失。
在清理物理文件时,遇到了经典的“文件被占用”问题。一个名为 spdm.dat 的 ESE 数据库文件无法删除。
Claude Code 敏锐地察觉到,这并非普通的进程占用,而是有 DLL 被加载到了资源管理器的 Shell 扩展中。为了找出真凶,它甚至现场用 C# 编写了一个调用 Windows 重启管理器 API 的脚本(findlocker360.ps1)来精确定位锁文件的进程。
真相大白:
锁定文件的不是 360,而是我电脑上正在运行的火绒安全的内核驱动(sysdiag.sys)!因为火绒需要扫描或监控这些 360 的残留文件,导致系统内核(System 进程 PID 4)占用了句柄。
面对火绒驱动的内核级锁定,Claude Code 给出了极其优雅的解决方案:
. 重置文件权限(ACL): 360 以前为了防止被病毒篡改,会给自己加防删除的 ACL 权限。Claude Code 编写了 final360.ps1,使用 takeown 和 icacls 命令重置了权限,成功删除了 54/60 个文件。
. 安排重启删除(PendingFileRenameOperations): 针对剩下 6 个被火绒死死锁住的 spdm.dat 文件和空目录,它没有选择强行关闭火绒(这会导致系统失去保护),而是直接修改注册表 Session Manager,将删除指令写入了开机启动早期的删除队列。
经过几轮 UAC 提权确认,清理工作完美收官。Claude Code 给出了清晰的总结报告:
清理项目 | 状态 | 备注 |
|---|---|---|
注册表卸载项 | ✅ 已删除 | “程序和功能”列表已清爽 |
主体残留文件 | ✅ 已删除 | 重置 ACL 后成功清除 |
6个被锁文件及空目录 | ⏳ 重启后自动删除 | 已写入系统重启删除队列 |
360压缩 | 🛡️ 未动 | 确认正常安装,未误伤 |

这次用 Claude Code 清理 360 残留的体验堪称惊艳,有几个点非常值得称赞:
如果你也深受 360 或其他流氓软件“卸载损坏”、“残留删不掉”的折磨,不妨试试把这个问题交给 AI 编程助手。你只需要描述现象,它就能帮你写出系统级的清理工具!
注:清理系统底层文件具有一定风险,本文仅供技术交流。操作前请务必确认备份重要数据!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。