Bonjour,
Je m'arrache les cheveux !
Voici le contexte de mon problème : j'ai récupéré des données dans un répertoire qui contient : 381 sous répertoires de noms com-001, com-002, etc,
eux-mêmes contenant N (quantité variable) sous répertoires contenant chacun 1 archive *.tar.bz2.
Je voudrais récupérer les fichiers décompressés dans chacun des sous-répertoires com-... mais pas dans les sous-sous-répertoires ni dans le répertoire principal (pour les traitements suivants).
Avec 7-zip en ligne de commande, j'ai essayé de faire le batch suivant :
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 :: expansion retardée pour utilisation variable dans boucle setlocal EnableDelayedExpansion :: : définition du répertoire de données source SET chemin=%1 :: boucle sur les sous-répertoires for /d %%F in (%chemin%\*) do ( cd %%F echo %%F >> %chemin%\mouchard.txt "C:\Program Files\7-Zip\7z.exe" e -an -air!*.tar.bz2 -aoa "C:\Program Files\7-Zip\7z.exe" e *.tar -aoa )
Ca ne marche pas :
lors du premier appel de 7z.exe, j'ai une Error : Incorrect command line
Alors que le batch suivant fonctionne très bien (en fait, je l'ai essayé avant) :
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 :: : définition du répertoire de données source SET chemin=%1 cd %chemin%\com-001 "C:\Program Files\7-Zip\7z.exe" e -an -air!*.tar.bz2 -aoa "C:\Program Files\7-Zip\7z.exe" e *.tar -aoa cd %chemin%\com-002 "C:\Program Files\7-Zip\7z.exe" e -an -air!*.tar.bz2 -aoa "C:\Program Files\7-Zip\7z.exe" e *.tar -aoa
Je ne comprends pas : mon fichier mouchard me montre bien que je passe dans les bons répertoires, et je ne vois pas la différence entre les 2 batch.
Depuis le temps que je creuse, j'aurais pu rédiger un fichier comme l'exemple 2 pour mes 381 répertoires, mais j'aimerais bien comprendre...
Merci d'avance à ceux qui m'éclairerons !
Partager