.svn ファイルとフォルダーを削除するための Windows バッチ ファイル

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

  •  22-09-2019
  •  | 
  •  

質問

「myfolder」内のすべての「.svn」ファイル/フォルダー/サブフォルダーを削除するには、バッチ ファイルで次の簡単な行を使用します。

FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X")

これは機能しますが、「.svn」ファイル/フォルダーがない場合、バッチ ファイルには次のような警告が表示されます。"システムは、指定されたファイルを見つけることができません。"この警告はとてもうるさいので、どうやって 「.svn」ファイル/フォルダーが見つからない場合は、RD コマンドをスキップする必要があることを理解させます。

通常はワイルドカードを使用すれば十分です, 、ただし、この場合、.svn拡張子を持つファイル/フォルダーを削除したくないが、正確に「.svn」という名前のファイル/フォルダーを削除したいので、それらの使用方法がわかりません。これを行う:

FOR /R myfolder %%X IN (*.svn) DO (RD /S /Q "%%X")

正確に「.svn」という名前のファイル/フォルダーは削除されなくなります。これも試してみました:

FOR /R myfolder %%X IN (.sv*) DO (RD /S /Q "%%X")

しかし、それも機能せず、何も削除しません。

役に立ちましたか?

解決

あなたが試すことができます。

FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X" 2>nul)

他のヒント

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *svn') do (rd /s /q "%%i")

その使用して検索ような何かます:

rm -rf `find . -name ".svn" -type d`

編集ます:

私は(私が代わりにバッチのbashのを読んで)これはLinux用です知っています。私はランダムに終わるアップでしょうここでヘルプLinuxユーザーにそれをここに残している:)

実は、この答えはでジェスパーロン・ジェンセンからです http://justaddwater.dk/2011/03/01/easy-delete-all-svn-subfolders-in-windows-explorer/

私はそれがそんなに簡単に私が共有したいと思いました。私は.GITへの.svnからいくつかのプロジェクトを変換していますので、これは素晴らしかったです。フォルダを削除することができますので、エクスプローラにメニュー項目を追加します。 .regファイルを作成し、それをインポートします。

Windows Registry Editor Version 5.00
;
; Running this file will give you an extra context menu item in Windows Explorer
; "Delete SVN folders"
;
; For the selected folder, it will remove all subfolders named ".svn" and their content
; Tip from http://www.iamatechie.com/remove-all-svn-folders-in-windows-xp-vista/
;
; Enrichened with comments by Jesper Rønn-Jensen ( http://justaddwater.dk/ )
;
;
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

奇妙追記:私が使用している場合

FOR /R . %%X IN (*.svn) DO (echo "%%X")

の代わりに


FOR /R myfolder %%X IN (.svn) DO (RD /S /Q "%%X")
だけでなく、それはの.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 /削除 - すべてのsvn-ファイル・イン・ウィンドウ/

リンクのコードがよりよくそのようにのみ*のsvnを持っているのに対し、

上記のコードはの.svnた覚えておいてください 偶然に望ましくない影響を与えないようにするの.svnを持っています。

ここで私のお気に入りの、そのシンプルかつコンパクトであります:

find ./ -name ".svn" | xargs rm -Rf

Fissh

のウィンドウ上のすべてのsvnのファイルを削除するには、

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

の.svnフォルダ名です。

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