隨筆-200  評論-148  文章-15  trackbacks-0

          今天想清除目錄下的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 工作目錄是:& 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 & 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版本信息

          posted on 2012-08-31 13:07 無聲 閱讀(1523) 評論(0)  編輯  收藏 所屬分類: 職場生活
          主站蜘蛛池模板: 同仁县| 祥云县| 天水市| 苍南县| 闽侯县| 通州市| 兴国县| 太湖县| 星座| 阿合奇县| 闽侯县| 邵阳市| 运城市| 天门市| 江口县| 嫩江县| 开封市| 珲春市| 淮安市| 洛阳市| 扎赉特旗| 嵊泗县| 鹤壁市| 莱芜市| 运城市| 江川县| 平顺县| 中超| 炉霍县| 九江县| 崇明县| 洱源县| 莲花县| 沙坪坝区| 赣州市| 平南县| 河津市| 淄博市| 渝北区| 山丹县| 盐城市|