Bonjour

je suis confornter à un problème dans mon bat.

Je souhaite vérifier la présence de plusieurs fichiers dans différents répertoires pour chacun je doissi il est présent, le renommer puis supprimer un autre fichier créer dans un autre répertoire.

voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
dir
set /p mois= Quel est le mois en cours de traitement :     rem  on rentre le mois de traitement  ex 05
set /p annee= Quel est l'année cours de traitement :       rem  on rentre l'année de traitement  ex 2014
set nom1= AAAA%annee%%mois%                                REM nom du premier fichier à vérifier la présence  
set chemin1="c:\test\annee_en_cours\AAAA\"                 rem répertoire dans lequel il doit figurer
set fichier1 = AAAA
set nom2= BBBBB%annee%%mois%                           REM nom du 2eme fichier à vérifier la présence
set chemin2="c:\test\annee_en_cours\BBBBB\"            rem répertoire dans lequel il doit figurer
set fichier2 = BBBB
set nom3= CCCC%annee%%mois%                            REM nom du 3e fichier à vérifier la présence
set chemin3="c:\test\annee_en_cours\CCCC\"             rem répertoire dans lequel il doit figurer
set fichier3 = CCCC


rem  dans la boucle suivante je désire vérifier la présence du nom(1) dans chemin(1) puis nom(2) dans chemin(2) au rythme du pas de ma boucle FOR

setlocal enableDelayedExpansion 
for /l %%v in (1, 1,3) do ( 

set/A cheminactuel=chemin%%v                 rem  --> dans la premiere boucle valeur devrait être chemin1
set/A fichier=nom%%v                         rem  --> dans la premiere boucle valeur devrait être nom1
SET fichieractuel = %fichier%aaaamm.txt        rem  --> dans la premiere boucle valeur devrait être nom1aaaamm.txt  (il dépend de la valeur au dessus )
set nomactuel = %fichier%%%v%annee%%mois%.txt   rem --> dans la premiere boucle valeur devrait être AAAA201405.txt  ( comme le précise les éléments d'entrée ligne 2&3)

IF EXIST !cheminactuel!\%fichieractuel% (ren %fichieractuel% %nomactuel%.txt    rem --> si le fichier existe je le renomme mais cheminactuel reste désespérement vide
pause
IF EXIST c:\test\resultat\%fichier%aaaamm.xml   del c:\test\resultat\%fichier%aaaamm.xmlsaaaamm.xml )  rem -> puis je supprime le fichier 
pause
dir )
endlocal


l

Lors que je suis dans la boucle for les chemins et les noms de fichiers n'apparaissent pas correctement donc le bat ne s exécute pas .

je fais vraisemblablement une erreur mais je ne vois pas où ?

par avance merci