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

StackOverflow https://stackoverflow.com/questions/521382

質問

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

c:\
  proyect1
   _svn
   images
     _svn
     banner
       _svn
     buttons
       _svn

そして、私のような何かを実行します。

rm-recurse c:\proyect1 _svn

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

c:\
  proyect1
   images
     banner
     buttons

理想的なものは、小さなスタンドアロンEXEまたはそのようなものになるだろう。

- おかげグラント、できるだけ早く私はSVNについて SVN のドキュメントを見て質問を投稿としてexportコマンドが、私はまた、_vti_ *フォルダーは、Visual Studioが作成詰め込む削除したいので、私はまた、forソリューションを探っていきます。

役に立ちましたか?

解決

BlackTigerXの「ため」と同様に、私が提案するつもりだった。

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フォルダを見つけます。フォースは、隠しフォルダを見つけるために使用されます。 第二部は、これらのフォルダとその内容を削除するために使用されます。 削除コマンドレットが実行されるかをプレビューすることができます便利な「WHATIF」パラメータが付属しています。

PowerShellには、Windows XPおよびWindows Vistaで利用可能です。これは、Windows 7上で、デフォルトでのWindows Server 2008 R2上に存在している。

それは自由だし、それは岩、MS製品です!

バッチファイルを使用中から包含/呼び出し(デバッグを除去するために言うとフォルダをリリース)の場合:

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

ダブル%は、エスケープ文字として機能するようにバッチファイル内で必要とされています。そうでなければ、構文のエラーを報告します。

感謝します。

のWindowsでは?あなたはTortoiseSVNのを使用している場合は、の.svn / _svnフォルダをせずにプロジェクトのコピーをエクスポートするためにexportコマンドを使用することができます。

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がインストールされ持っている場合は任意のOSの下で動作します。このPythonスクリプトを試すことができると思います。

SVNフォーラムでから別のオプションます。xcopyを使用します除外するファイル/ディレクトリのリストを含むファイル(この場合の.svnまたは_svn)と

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

ここで... FreeCommanderまたはTotalCommanderと

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

socendani

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top