Bonjour,
Je cherche une astuce pour pouvoir récupérer tous les noms de fichiers d'un répertoire dans plusieurs variables.
Le but est de pour pouvoir comparer ensuite ces variables (masque de fichier)... et faire une action.
Exemple :
Sous C:\test
j'ai des fichiers du type :
AAAA-001-DATETIME.TXT
AAAA-001-DATETIME.TXT
AAAA-002-DATETIME.TXT
AAAA-003-DATETIME.TXT
AAAA-003-DATETIME.TXT
AAAA-004-DATETIME.TXT
BBBB-001-DATETIME.TXT
....
L'objectif est de récupérer chaque nom de fichier commençant par AAAA dans plusieurs variables de longueur de 8 caractères,
Exemple :
var1=AAAA-001
var2=AAAA-001
var3=AAAA-002
var4=AAAA-003
var5=AAAA-003
var6=AAAA-004
(BBBB n'est pas récupéré dans une variable car il ne commence pas par AAAA)
pour pouvoir ensuite comparer le nom des fichiers et si des masques de fichier sont identiques, alors les concaténer dans un seul fichier du même nom.
Exemple :
AAAA-001-DATETIME.TXT
AAAA-002-DATETIME.TXT
AAAA-003-DATETIME.TXT
AAAA-004-DATETIME.TXT
J'ai trouvé un début de code qui me semble intéressant, mais le problème c'est qu'il liste les noms de fichier toujours dans la même variable:
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @echo off CD C:\test for /r %%a IN (AAAA*.txt) DO Call :TEST1 %%~na %%~xa goto :SUITE :TEST1 set file1=%1%2 set mask1=%file1:~,8% echo. echo fichier1 = %file1% echo Masque1 = %mask1% echo. pause goto :SUITE :SUITE
Comment faire pour obtenir chaque nom dans une variable différente ?
Merci pour votre aide.
Partager