刪除".SVN"文件夾方法


一、在linux下 

 刪除這些目錄是很簡單的,命令如下 

find . -type d -name ".svn"|xargs rm -rf;

 或者 

find . -type d -iname ".svn" -exec rm -rf {} \; 

 

二、在windows下用以下法子: 

1、在項目平級的目錄,執行dos命令: 

xcopy project_dir project_dir_1 /s /i 

2、或者在項目根目錄執行以下dos命令 

for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" 

  其實第二種方法可以用來干很多事的,比如把代碼中的.svn替換為任意其他文件名並在硬盤根目錄下執行,就可以從硬盤上刪除所有的這個文件啦。 

3、添加注冊表

  可以將“快速刪除SVN版本信息”命名增加到資源管理器的右鍵上,這樣,鼠標點兩下就能把選中目錄下的所有.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文件,雙擊確認導入注冊表中不完整,后來自己手工添加。注意:文件“批處理文件刪除SVN版本信息.bat”不能放 在有空格的文件夾下,確認刪除時請看一下當前目錄不要刪除不該刪的目錄下的SVN版本信息。不知道怎么改進“cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat”。 

批處理文件刪除SVN版本信息.bat文件內容如下: 

復制代碼代碼如下:
@echo off 
echo *********************************************************** 
echo 清除SVN版本信 息 
echo *********************************************************** 
:start 
::啟動過程,切換目錄 
:set pwd=%cd% 
:cd %1 
echo 工作目錄是:chr(38) chdir 
:input 
::獲取輸入,根據輸入進行處理 
set source=: 
set /p source=確定要清楚當前目錄下的.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 
::主處理過程,執行清理工作 
@echo on 
@for /d /r %%c in (.svn) do @if exist %%c ( rd /s /q %%c chr(38) echo 刪除目錄%%c) 
@echo off 
echo "當前目錄下的svn信息已清除" 
goto end 
:noclean 
::分支過程,取消清理工作 
echo "svn信息清楚操作已取消" 
goto end 
:end 
::退出程序 
cd "%pwd%" 
pause 

注:最后一種方法,如果出現錯誤,就打開注冊表,找到對應的項,吧“cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat “直接寫入注冊表中即可使用 

最后一種方法: 

報文件沒有關聯錯誤,找到這個注冊表項:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]

寫入(注意路徑 ):

"cmd.exe /c D:\工具\批處理文件刪除SVN版本信息.bat "

還有一個要注意的:在使用的時候,不要在要清除的文件夾上右擊,在要清除的文件夾里面的子文件夾上右擊--》快速刪除svn版本信息 

今天看了Jon Galloway的一個注冊表腳本,十分方便,分享如下: 

建立一個文本文件,取名為kill-svn-folders.reg(擴展名由txt改為reg),內容如下: 

復制代碼代碼如下:
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文件了!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM