「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")
Findを使用したそのようなもの:
rm -rf `find . -name ".svn" -type d`
編集:
私はこれがLinux用であることを知っています(私はバッチの代わりにbashを読みます)。ランダムにここにたどり着くLinuxユーザーを助けるためにここに残しておきます:)
実際、この回答はhttp://justaddwater.dk/2011/03/01/easy-delete-all-svn-subfolders-in-windows-Explorer/
のJesperRønn-Jensenからのものです。
共有するのはとても簡単だと思いました。いくつかのプロジェクトを.SVNから.GITに変換しているので、これは素晴らしかったです。エクスプローラーにメニュー項目を追加して、フォルダーを削除できるようにします。 .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で終わるすべてのディレクトリを一覧表示するだけでなく、それらのすべてのコンテンツも一覧表示します。これはForコマンドのバグであり、ワイルドカードを指定しない拡張機能を提供しました。非常に奇妙な。
ケン
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/delete-all-svn-files-in-windows/
上記のコードには.svnが含まれていますが、リンク内のコードには* svnしかないため、誤って望ましくない影響を与えないように.svnを使用することをお勧めします。