web-dev-qa-db-ja.com

Windowsで指定された名前のフォルダーを再帰的に削除するコマンドラインツール?

すべてのフォルダとサブフォルダのすべての「_svn」を削除したい...

例えば

 c:\ 
 proyect1 
 _svn 
 images 
 _svn 
 banner 
 _svn 
ボタン
 _svn 
 

その後、私は次のようなものを実行します

rm-recurse c:\proyect1 _svn

そして、私は得る必要があります:

 c:\ 
 proyect1 
 images 
 banner 
ボタン

理想的なのは、小さなスタンドアロンEXEまたはそのようなものです。

-Grantに感謝、私が見た質問を投稿するとすぐに [〜#〜] svn [〜#〜] SVNエクスポートコマンドに関するドキュメントですが、_vti_ *フォルダーも削除したいVisual Studioが作成するので、forソリューションも調べます。

69
opensas

BlackTigerXの「for」と同様に、私は提案するつもりでした

for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"

130
JMD

いくつかを学ぶ時間 PowerShell ; o)

Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse

最初の部分は、各_svnフォルダーを再帰的に検索します。隠しフォルダーを見つけるにはForceを使用します。 2番目の部分は、これらのフォルダーとその内容を削除するために使用されます。 Removeコマンドレットには、実行される内容をプレビューできる便利な「whatif」パラメーターが付属しています。

PowerShellは、Windows XPおよびWindows Vistaで使用できます。デフォルトでWindows 7およびWindows Server 2008 R2に存在します。

それはMS製品であり、無料であり、揺れ動きます!

28
Cédric Rup

BATCHファイル内からのインクルード/呼び出しの使用(たとえば、DebugおよびReleaseフォルダーの削除):

for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"

ダブル%は、エスケープ文字として機能するためにバッチファイル内で必要です。それ以外の場合は、構文のエラーを報告します。

ありがとう。

22
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

14
BlackTigerX

Windowsで? tortoiseSVNを使用している場合、exportコマンドを使用して、.svn/_svnフォルダーなしでプロジェクトのコピーをエクスポートできます。

10
Grant
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がインストールされていれば、どのOSでも動作します。

4
Zhu Tao

SVN Forum の別のオプション:除外するファイル/ディレクトリのリストを含むファイル(この場合は.svnまたは_svn)でXCopyを使用します

XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y
3
Teorist

ここ... FreeCommanderまたはTotalCommanderを使用

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

ソセンダニ

2
Dani