簡體   English   中英

在Windows中遞歸刪除具有指定名稱的文件夾的命令行工具?

[英]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,則該腳本可以在任何操作系統上運行。

此處...使用FreeCommander或TotalCommander

http://www.broobles.com/blog/posts/36

森達尼

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM