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 !