刪除SVN三種方法delSvn(windows+linux)

字號:


    一、在linux下
    刪除這些目錄是很簡單的,命令如下
    find . -type d -name ".svn"|xargs rm -rf
    或者
    find . -type d -iname ".svn" -exec rm -rf {} \;
    二、在windows下用以下法子:
    1、在項目平級的目錄,執(zhí)行dos命令:
    xcopy project_dir project_dir_1 /s /i
    2、或者在項目根目錄執(zhí)行以下dos命令
    for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"
    其實第二種方法可以用來干很多事的,比如把代碼中的.svn替換為任意其他文件名并在硬盤根目錄下執(zhí)行,就可以從硬盤上刪除所有的這個文件啦。
    3、添加注冊表(親自動手測試過)
    可以將“快速刪除SVN版本信息”命名增加到資源管理器的右鍵上,這樣,鼠標(biāo)點兩下就能把選中目錄下的所有.svn目錄干掉了。
    代碼為:
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
    @="快速刪除SVN版本信息"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
    @="cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat"
    將這段代碼保存為一個.reg文件,雙擊確認(rèn)導(dǎo)入注冊表中不完整,后來自己手工添加。注意:文件“批處理文件刪除SVN版本信息.bat”不能放 在有空格的文件夾下,確認(rèn)刪除時請看一下當(dāng)前目錄不要刪除不該刪的目錄下的SVN版本信息。不知道怎么改進(jìn)“cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat”。
    批處理文件刪除SVN版本信息.bat文件內(nèi)容如下:
    代碼如下:
    @echo off
    echo ***********************************************************
    echo 清除SVN版本信 息
    echo ***********************************************************
    :start
    ::啟動過程,切換目錄
    :set pwd=%cd%
    :cd %1
    echo 工作目錄是:chr(38) chdir
    :input
    ::獲取輸入,根據(jù)輸入進(jìn)行處理
    set source=:
    set /p source=確定要清楚當(dāng)前目錄下的.svn信息嗎?[Y/N/Q]
    set "source=%source:"=%"
    if "%source%"=="y" goto clean
    if "%source%"=="Y" goto clean
    if "%source%"=="n" goto noclean
    if "%source%"=="N" goto noclean
    if "%source%"=="q" goto end
    if "%source%"=="Q" goto end
    goto input
    :clean
    ::主處理過程,執(zhí)行清理工作
    @echo on
    @for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c chr(38) echo 刪除目錄%%c)
    @echo off
    echo "當(dāng)前目錄下的svn信息已清除"
    goto end
    :noclean
    ::分支過程,取消清理工作
    echo "svn信息清楚操作已取消"
    goto end
    :end
    ::退出程序
    cd "%pwd%"
    pause
    注:最后一種方法,如果出現(xiàn)錯誤,就打開注冊表,找到對應(yīng)的項,吧“cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat “直接寫入注冊表中即可使用
    我只用了最后一種方法:
    報文件沒有關(guān)聯(lián)錯誤,找到這個注冊表項:[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
    寫入:“cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat “,注意路徑
    還有一個要注意的:在使用的時候,不要在要清除的文件夾上右擊,在要清除的文件夾里面的子文件夾上右擊--》快速刪除svn版本信息
    今天看了Jon Galloway的一個注冊表腳本,十分方便,分享如下:
    建立一個文本文件,取名為kill-svn-folders.reg(擴(kuò)展名由txt改為reg),內(nèi)容如下:
    代碼如下:
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
    @="Delete SVN Folders"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
    @="cmd.exe /c \"TITLE Removing SVN Folders in %1 chr(38)chr(38) COLOR 9A chr(38)chr(38) FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
    保存之后,雙擊這個reg文件。成功后,在每一個文件夾上點擊右鍵都會有一個“Delete SVN Folders”的選項,點擊之后,既可以刪除這個文件下下面所有的.svn文件了