Bonjour,
Après avoir longtemps fouillé les forums, je ne suis pas parvenu à atteindre mon but, c'est pourquoi je me tourne vers vous.
Je souhaite copier dans un ordre bien précis, le contenu de plusieurs répertoires dans un seul et même répertoire.
Pour exemple :
Mon arborescence est : C:\Coala\local\patch\4.18\
Dans ce même répertoire "4.18" se trouve des fichiers .7z (1.7z, 2.7z, 3.7z,...) et des répertoires (1, 2, 3, ...) qui correspondent respectivement à l'extraction des fichiers .7z
Je souhaite copier le contenu de chaque répertoire (1 puis 2 puis 3 puis 4...) dans le répertoire racine, cela revient donc à :
Copier le contenu de C:\Coala\local\patch\4.18\1 dans le répertoire C:\Coala, et ce pour chaque dossier présent dans le répertoire C:\Coala\local\patch\4.18\
Pour cela, j'ai déjà créé les lignes suivantes :
Cela rempli correctement son rôle en terme de listing des répertoires et de copie. Seulement voila, le fichier DirPatch418.txt généré par la commande "dir" renvoi un tri qui ne correspond pas vraiment à mes attentes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 dir C:\Coala\local\patch\4.18\ /A:D /B > C:\AutoInstall\Ressources\Temp\DirPatch418.txt for /f %%a in (C:\AutoInstall\Ressources\Temp\DirPatch418.txt) do ( robocopy C:\Coala\local\patch\4.18\%%a C:\Coala /E /IS *.* >> C:\AutoInstall\Ressources\Logs\CopieContenuPatchs418.log ) @echo on pause
En effet, le "dir" liste les répertoires dans un ordre croissant en fonction d'un tri "numérique" et non par son nom. Ce fichier me renvoi donc :
1
10
11
12
2
3
4
5
6
7
8
9
or, je souhaite avoir le tri suivant :
1
2
3
4
5
6
7
8
9
10
11
12
J'ai tout d'abord penser pouvoir simplement mettre un tri sur la commande dir avec un /O:N | S | E | G | - , mais cela ne change pas l'ordre du tri.
J'ai ensuite penser pouvoir rechercher d'une part les répertoires à 1 caractère, puis ceux de 2 caractères.
Seulement, impossible de mettre la main sur une solution. En auriez-vous une pour moi ?
D'avance merci !
Partager