Je dois supprimer tous les dossiers vides de mon dossier d'application à l'aide de l'invite de commande de Windows ?
Comment puis-je créer un fichier bat comme celui-là ?
Aidez-moi, s'il vous plaît.
Je dois supprimer tous les dossiers vides de mon dossier d'application à l'aide de l'invite de commande de Windows ?
Comment puis-je créer un fichier bat comme celui-là ?
Aidez-moi, s'il vous plaît.
Si vous souhaitez utiliser la ligne de commande ROBOCOPY de Varun dans le menu contextuel de l'Explorateur (c'est-à-dire en faisant un clic droit), voici une importation du registre Windows. J'ai essayé d'ajouter ceci comme commentaire à sa réponse, mais le balisage en ligne n'était pas réalisable.
Je l'ai testé sur mon propre PC Windows 10, mais utilisez-le à vos risques et périls. Il ouvrira une nouvelle invite de commande, exécutera la commande et fera une pause pour que vous puissiez voir la sortie.
Copier dans un nouveau fichier texte :
Éditeur de registre Windows Version 5.00
[HKEY_CURRENT_USER \Software\Classes\directory\Background\shell\Delete Dossiers vides \command ] @=" C:\Windows\System32\Cmd.exe /C \" C:\Windows\System32\Robocopy.exe \"%V\" \"%V\" /s /move\" && PAUSE"
[HKEY_CURRENT_USER \Software\Classes\directory\shell\Delete Dossiers vides \command ] @=" C:\Windows\System32\Cmd.exe /C \" C:\Windows\System32\Robocopy.exe \"%V\" \"%V\" /s /move\" && PAUSE"
Renommer l'extension .txt en .reg
Double-cliquez pour importer.
Une solution plus moderne et plus facile est :
forfiles /p C:\Path\To\Folder /c "cmd /c if @isdir==TRUE rd @file"
Ceci tentera d'exécuter rd
sur tous les répertoires situés dans C:\Path\To\Folder
. Les répertoires qui contiennent du contenu ne seront pas supprimés.
Si vous excluez /p C:\Path\To\Folder
alors il sera exécuté dans le répertoire courant.
Si vous ajoutez /s
(avant le /c
), il cherchera également dans les sous-répertoires.
Eh bien, juste une suggestion rapide et sale pour une structure de répertoire simple à 1 niveau sans espaces, [edit] et pour des répertoires ne contenant qu'UN seul type de fichiers que j'ai trouvé utile (à un moment donné, à partir de http://www.pcreview.co.uk/forums/can-check-if-folder-empty-bat-file-t1468868.html ) :
for /f %a in ('dir /ad/b') do if not exist %a\*.xml echo %a Empty
/ad : ne montre que les entrées du répertoire
/b : utiliser un format simple (juste les noms)
[edit] l'utilisation d'un simple astérisque pour vérifier la présence de N'IMPORTE QUEL fichier (%a\* ci-dessus) ne fonctionne pas, merci pour la correction.
donc, la suppression serait :
for /f %a in ('dir /ad/b') do if not exist %a\*.xml rmdir %a
Cela peut être fait facilement en utilisant rd
avec deux paramètres :
rd <folder> /Q /S
/Q - Mode silencieux, ne pas demander si ok pour supprimer une arborescence de répertoires avec /S
/S - Supprime tous les répertoires et fichiers dans le répertoire spécifié en plus du répertoire lui-même. Utilisé pour supprimer une arborescence de répertoires.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.