Comment supprimer des fichiers ou des dossiers de manière récursive sous Windows à partir de la ligne de commande?
J'ai trouvé cette solution où chemin nous conduisons sur la ligne de commande et exécutons cette commande.
J'ai donné un exemple avec un dossier d'extension de fichier .svn:
for /r %R in (.svn) do if exist %R (rd /s /q "%R")
Veuillez exécuter les étapes suivantes:
Donner la commande suivante
del /S *.svn
Les autres réponses n'ont pas fonctionné pour moi, mais cela a fonctionné:
del /s /q *.svn
rmdir /s /q *.svn
/q désactive les invites Oui/Non
/s signifie que le ou les fichiers sont supprimés de tous les sous-répertoires.
Vous pouvez utiliser ceci dans le script bat
:
rd /s /q "c:\folder a"
Maintenant, remplacez simplement c:\folder a
par l’emplacement de votre dossier. Une offre n'est nécessaire que lorsque votre nom de dossier contient des espaces.
RMDIR path_to_folder /S
ex. RMDIR "C:\tmp" /S
Notez que vous serez invité à supprimer le dossier "C:\tmp". La combinaison avec le commutateur/Q supprimera le dossier en mode silencieux (ex. RMDIR "C:\tmp" /S /Q
)
Pour la suppression de fichier, j'ai écrit ce qui suit fichier simple batch qui supprimait tous les fichiers PDF.
del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
Même pour le répertoire local, nous pouvons l'utiliser comme:
del /s /q "C:\Project\*.pdf"
La même chose peut être appliquée pour la suppression de répertoire où nous devons juste changer del avec rmdir .
Si vous souhaitez supprimer une extension spécifique de manière récursive, utilisez ceci:
For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
Vous pouvez aussi faire:
del /s /p *.{your extension here}
Le /p
vous demandera pour chaque fichier trouvé, si vous êtes inquiet au sujet de la suppression de quelque chose que vous ne devriez pas.
C’est-à-dire, rmdir/S/Q C:\Temp
J'utilise aussi ceux ci-dessous depuis quelques années, sans faille.
Découvrez d'autres options avec:forfiles /?
Supprimez récursivement SQM/Telemetry dans le dossier Windows
forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"
Supprimer les fichiers TMP de Windows de manière récursive
forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"
Supprimez récursivement les fichiers et dossiers TEMP des utilisateurs
forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
Après le blog Comment utiliser Windows PowerShell pour supprimer tous les fichiers .TMP d'un lecteur?, vous pouvez utiliser quelque chose comme ceci pour supprimer tous les fichiers .tmp, par exemple, d'un dossier et de tous les sous-dossiers de PowerShell:
get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}
Pour les fichiers cachés, je devais utiliser les éléments suivants:
DEL /S /Q /A:H Thumbs.db