[英]Command line tool to delete folder with a specified name recursively in Windows?
我想刪除每個文件夾和子文件夾中的每個“ _svn” ...
例如
c:\ proyect1 _svn images _svn banner _svn buttons _svn
然后我運行類似
rm-recurse c:\proyect1 _svn
我應該得到:
c:\ proyect1 images banner buttons
理想的情況是使用小型獨立EXE或類似的文件。
-感謝格蘭特,只要我貼我看到的問題SVN文檔有關SVN導出命令,但我也想刪除_vti_ *文件夾的東西Visual Studio創建的,所以我也將探索for
解決方案。
類似於BlackTigerX的“ for”,我將建議
for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"
是時候學習一些PowerShell了 ; o)
Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse
第一部分以遞歸方式找到每個_svn文件夾。 強制用於查找隱藏的文件夾。 第二部分用於刪除這些文件夾及其內容。 Remove Commandlet帶有方便的“ whatif”參數,該參數允許預覽將要完成的操作。
PowerShell適用於Windows XP和Windows Vista。 默認情況下,它存在於Windows 7和Windows Server 2008 R2中。
它是MS產品,是免費的,而且效果驚人!
對於BATCH文件中的包含/調用,請使用(例如刪除Debug和Release文件夾):
for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"
批處理文件中需要double %
才能用作轉義符。 否則,它報告語法錯誤。
謝謝。
for /f "usebackq" %d in (`"dir _svn /ad/b/s"`) do rd /s/q "%d"
http://ebersys.blogspot.com/2008/07/recursively-delete-svn-folders-easy-way.html
在Windows中? 如果您使用的是tortoiseSVN,則可以使用export命令導出不帶.svn / _svn文件夾的項目副本。
import os
import shutil
curdir = os.path.abspath(os.path.dirname(__file__))
def removedir(dirname, name = ".svn"):
if os.path.isdir(dirname):
for file in os.listdir(dirname):
if os.path.isdir(os.path.join(dirname, file)) and file == name:
thedir = os.path.join(dirname, name)
shutil.rmtree(thedir)
print ".",
else:
removedir(os.path.join(dirname, file))
我認為您可以嘗試使用此Python腳本,如果您已安裝Python,則該腳本可以在任何操作系統上運行。
SVN論壇的另一個選擇:將XCopy與包含要排除的文件/目錄列表的文件一起使用(在這種情況下為.svn或_svn)
XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.