You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python开发卸载工具时无法删除exe所在当前工作目录问题

卸载工具删除自身工作目录解决方案

问题根因

  • 运行中的exe会持有当前工作目录的系统句柄,直接执行删除命令时,目录被锁定,无法删除根节点
  • 之前的拆分命令没有先脱离目标工作目录,导致删除目录根节点时被系统拦截

修复后的代码

import subprocess
import os
from sys import argv

# 先将当前进程的工作目录切换到系统临时目录,解除对目标目录的锁定
os.chdir(os.getenv("TEMP"))
# 组合命令:等待2秒 -> 删除exe自身 -> 递归删除原工作目录
subprocess.Popen(
    f'WAITFOR /T 2 PAUSE 2>NUL & DEL /F "{argv[0]}" & RD /Q /S "{os.getcwd()}"',
    shell=True,
    creationflags=0x00000008
)

注意事项

  • 如果原工作目录内有其他正在运行的进程、或被其他软件打开的文件,目录仍然会删除失败,卸载逻辑需要提前确保目录内所有资源已被释放
  • 代码中保留路径外层的引号即可,兼容带空格的目录路径

内容的提问来源于stack exchange,提问作者Gregory leyda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 22:24:02