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

使用SVN cleanup删除未版本化文件时遇非空目录错误的解决方法

解决SVN Cleanup删除未版本化文件时的目录非空错误

我太懂这种反复执行命令才能成功的烦躁了!你遇到的这个svn: E720145错误,真不是权限问题,大概率是后台进程在占用obj目录里的文件,导致SVN第一次执行时没法彻底清空目录。下面几个方法亲测有效:

  • 先关掉可能占用文件的程序:如果你的项目是用VS之类的IDE打开的,先彻底关闭IDE(别只最小化),还有后台的编译进程(比如msbuild.exe、devenv.exe),甚至文件管理器如果打开了obj目录也关掉。这些进程会锁定目录里的编译产物,让SVN删不掉。

  • 手动强制删除顽固目录后再执行Cleanup:
    针对Windows系统,打开命令提示符,先执行:

    rmdir /s /q "你的项目路径\obj"
    

    (/s删除目录及子目录,/q静默执行不提示)
    针对Linux/macOS,用:

    rm -rf 你的项目路径/obj
    

    手动删掉这些非空目录后,再跑svn cleanup --remove-unversioned,基本一次就能成功。

  • 升级SVN到最新稳定版:旧版本的SVN在处理嵌套目录锁定、文件占用检测上可能有bug,升级到最新版(比如1.14.x及以上),很多这类莫名其妙的删除失败问题会直接消失。

  • 临时关闭实时杀毒软件:有些杀毒软件的实时防护会扫描并锁定obj里的临时文件,导致SVN无法删除。临时禁用实时保护,执行完Cleanup后再开启即可。

如果经常碰到这个问题,还可以写个简单的脚本自动化处理,比如Windows下的bat脚本:

@echo off
:: 关闭可能占用文件的IDE和编译进程
taskkill /f /im devenv.exe >nul 2>&1
taskkill /f /im msbuild.exe >nul 2>&1
:: 强制删除obj目录
rmdir /s /q "你的项目根目录\obj" >nul 2>&1
:: 执行SVN Cleanup
svn cleanup --remove-unversioned

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:15:47