[英]Command to recursively remove all .svn directories on Windows
我有一個包含許多子目錄的目錄。 在每個文件夾中都有一個 subversion 文件夾 (.svn)。
windows中是否有一個命令可以遍歷每個文件夾和子目錄並刪除.svn文件夾?
或者我必須創建一個腳本還是手動完成?
使用以下行制作一個小批處理文件,並從其下有 .svn 目錄的父文件夾中執行它。
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G"
您還可以直接從命令提示符發出以下行:
FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G"
在 PowerShell 中執行此操作。
注意:這是遞歸的,因此請確保您位於正確的目錄中!
gci -fil '.svn' -r -force | ri -r -force
這是我的源代碼樹清理腳本的其余部分。
gci -fil 'bin' -r -force | ri -r -force
gci -fil 'obj' -r -force | ri -r -force
gci -fil '_ReSharper*' -r -force | ri -r -force
gci -fil '*.suo' -r -force | ri -r -force
gci -fil '*.user' -r -force | ri -r -force
使用svn export
命令將 Subversion 工作副本導出到沒有.svn
目錄的新“干凈”目錄結構中。
如果要刪除 Windows 中名為.svn 的所有子文件夾,請使用以下內容創建批處理文件:
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)
將其保存在文件del_All_Dot_SVN_Folders.cmd 中。 運行它。 你完成了。
感謝http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/
記住上面的代碼有 .svn 而鏈接中的代碼只有 *svn 所以最好有 .svn 以免意外產生不良影響。
很抱歉參加聚會遲到了,但這里還有一行:
for /r %i in (.svn) do rmdir /s /q "%i"
我知道現在回答這個為時已晚,但我想如果在您的 eclipse 上安裝了 eclipse 和 svn 插件,有一種簡單的方法。 右鍵單擊項目,轉到 Team->disconnect。 它將打開一個彈出窗口,您可以在其中選擇第一個選項:“同時從文件系統中刪除 SVN 元信息”。 這將自動刪除所有 SVN 文件夾以及 svn 屬性文件,您有時可能會在僅刪除 .svn 文件夾時忘記這些文件!
重要的一點,如果你想運行shell來刪除 .svn 文件夾,你可能需要-depth參數來防止 find 命令進入剛剛刪除的目錄並顯示愚蠢的錯誤消息,例如
"find: ./.svn: No such file or directory"
要擺脫此錯誤,您可以使用 find 命令,如下所示:
cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.