Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / SVN

Deleting some directories recursively (i.e. .svn folders when you start a new project)

4.86/5 (3 votes)
20 Mar 2011CPOL1 min read 12.9K  
How to delete all the .svn folders using a simple batch file
You are doing a new project and you want to use the old files there. Moreover you have everything under Subversion. In that case, if the old files have a lot of folders it can be a nightmare to delete all the .svn files one by one.

Using this mini-script will do the trick with only two clicks (or a return ^^) without installing any software... so if you are under some strict policies, then it can help you.

Let's hope that some of you will find it useful! I've found it on the Internet and thought it would be really interesting to share it here... more after reading some problems with Subversion.

Here it goes, the line you've to execute:

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G"


You can see the full post at this link[^], where the author (vanillabean) has posted these explanations:

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q %%G

If you're thinking WTF?:
DIR /B /AD /S *.svn*
lists all files that are named .svn
/B makes the output "bare" with nothing but the file name
/AD only lists directories
/S recurses subdirectories to include their contents if they match the listing criteria

RMDIR /S /Q [path/name]

deletes the directory [path/dir] and all of it's children

FOR /F processes each item (in this case directories) in the set IN ('[command]') by executing the DO [command]

%%G is a parameter, which in this example is a directory name
"tokens=*" says that all the characters output in a line (i.e. by the dir command) are assigned to the parameter %%G


Hope this helps. :thumbsup:

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)