Vous pouvez utiliser un boucle for dans l'invite de commande :
for /r %i in (*) do @move "%i" .
Oui, il essaiera de déplacer les fichiers du répertoire actuel vers le répertoire actuel, mais cela ne cause aucun dommage. Assurez-vous de l'exécuter en étant situé au sommet de la hiérarchie vers laquelle vous voulez déplacer les fichiers. L'exécuter depuis un autre endroit aura des effets très indésirables.
Si vous souhaitez l'exécuter sans avoir à vous trouver dans un certain répertoire, vous pouvez taper les chemins :
for /r C:\path %i in (*) do @move "%i" "C:\path"
remplacer C:\path
avec l'emplacement du répertoire supérieur dans lequel tous les fichiers seront déplacés. Si vous souhaitez l'exécuter dans un script batch, modifiez les variables pour inclure un autre signe de pourcentage :
for /r C:\path %%i in (*) do @move "%%i" "C:\path"
pour supprimer tous les sous-répertoires vides (à partir de cmd) :
for /d %i in (C:\path\*) do @rmdir /s /q "%i"
du lot :
for /d %%i in (C:\path\*) do @rmdir /s /q "%%i"