萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows 7 教學

Win7 批量刪除 .svn 隱藏文件夾:註冊表添加右鍵菜單「Delete SVN Folders」一鍵淨化

SVN 版本控制項目遷移/導出時,大量 .svn 隱藏文件夾污染目錄結構。手動刪除極其繁瑣。通過註冊表添加資料夾右鍵菜單命令,調用 cmd.exe /c FOR /r 遞歸刪除,一鍵淨化整個項目樹。

🔧 註冊表導入法 (最快部署)

  1. 桌面新建文本文檔,命名 Add_Delete_SVN_Menu.reg,內容貼入:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
"Icon"="imageres.dll,-5320"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 1A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \"\""
  1. 雙擊導入註冊表 → 確定。

🚀 使用方法

  1. 資源管理器中右鍵 **包含 .svn 文件夾的父文件夾** (或項目根目錄)。
  2. 選擇 「Delete SVN Folders」 (帶圖標)。
  3. CMD 視窗閃現執行遞歸刪除,完成自動關閉,所有子目錄下的 .svn 文件夾連同內容徹底消失。

💡 進階變體:Git / CVS / 其他 VCS 目錄

修改註冊表命令中 .svn 為目標目錄名:

  • Git: FOR /r "%1" %%f IN (.git) DO RD /s /q "%%f"
  • CVS: FOR /r "%1" %%f IN (CVS) DO RD /s /q "%%f"
  • 通用批處理腳本 clean_vcs.bat (拖拽目標文件夾到腳本圖標):
    @echo off
    if "%~1"=="" (echo 用法: 拖拽目標文件夾到此腳本 & pause & exit /b)
    for /r "%~1" %%f in (.svn .git CVS .hg .bzr) do (
        if exist "%%f" (
            echo 正在刪除: %%f
            rd /s /q "%%f"
        )
    )
    echo 清理完成。
    pause

⚠️ 警示

  • 操作不可撤銷,確認目標文件夾非工作副本 (僅為導出/部署副本)。
  • 若為工作副本,刪除 .svn 將斷開與版本庫關聯,需重新 Checkout。
  • 命令以當前用戶權限運行,受保護文件夾 (System Volume Information、權限受限目錄) 會報「拒絕訪問」跳過,不影響整體執行。
copyright © 萬盛學電腦網 all rights reserved