Je veux supprimer chaque "_svn" dans chaque dossier et sous-dossier ...
Par exemple
c:\ proyect1 _svn images _svn bannière _svn boutons _svn
Ensuite, je lance quelque chose comme
rm-recurse c:\proyect1 _svn
Et je devrais obtenir:
c:\ proyect1 images bannière boutons
L'idéal serait un petit EXE autonome ou quelque chose comme ça.
- Merci Grant, dès que j'ai posté la question, j'ai vu SVN de la documentation sur la commande d'exportation SVN, mais je veux aussi supprimer le dossier _vti_ * Visual Studio crée, donc j'explorerai également la solution for
.
Similaire au "pour" de BlackTigerX, j'allais suggérer
for /d /r . %d in (_svn) do @if exist "%d" rd /s/q "%d"
Il est temps d'en apprendre PowerShell ; o)
Get-ChildItem -path c:\projet -Include '_svn' -Recurse -force | Remove-Item -force -Recurse
La première partie trouve chaque dossier _svn de manière récursive. La force est utilisée pour trouver des dossiers cachés. La deuxième partie permet de supprimer ces dossiers et leur contenu. La commande de suppression est fournie avec un paramètre "whatif" pratique qui permet de prévisualiser ce qui sera fait.
PowerShell est disponible pour Windows XP et Windows Vista. Il est présent sur Windows 7 et sur Windows Server 2008 R2 par défaut.
C'est un produit MS, c'est gratuit et ça bouge!
Pour l'inclusion/l'invocation à partir d'un fichier BATCH, utilisez (par exemple pour supprimer le dossier Debug and Release):
for /d /r . %%d in (Debug Release) do @if exist "%%d" echo "%%d" && rd /s/q "%%d"
double %
sont nécessaires dans un fichier de commandes pour fonctionner comme caractères d'échappement. Sinon, il signale une erreur de syntaxe.
Merci.
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
Sous Windows? Si vous utilisez tortoiseSVN, vous pouvez utiliser la commande d'exportation pour exporter une copie du projet sans les dossiers .svn/_svn.
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))
Je pense que vous pouvez essayer ce script Python, qui fonctionnera sous n'importe quel système d'exploitation si vous avez installé Python.
Une autre option de Forum SVN : utilisez XCopy avec un fichier qui contient la liste des fichiers/répertoires à exclure (.svn ou _svn dans ce cas)
XCopy C:\VersionedFolder C:\UnVersionedFolder /EXCLUDE:C:\No.SVN.txt /E /C /I /F /R /Y