Bonjour, après avoir longtemps cherché en vain (ici ou ailleurs ) une solution précise à mon problème, je viens en appeler à votre savoir.

Voici ma problématique:

Dans un répertoire donné, j'ai des fichiers d'un certain type qui sont des fichiers *.mdp
Ces fichiers sont générés automatiquement par un outil tiers et sont nommés de manière incrémentale. Ainsi, j'aurai par exemple les fichiers TEST1.mdp , TEST2.mdp, TEST3.mdp etc.
Je dois renommer (en BATCH, obligatoirement) tous ces fichiers MDP en leur ajoutant un Timestamp entre le nom "TEST" et le numéro incrémental donné.
Ainsi, après traitement, TEST1.mdp doit devenir TEST_TIMESTAMP1.mdp, et de même pour tous les fichiers mdp contenus dans le répertoire de travail.

Voici où j'en suis de mes recherches de solution:

Pour l'instant, j'ai pu avancer un peu sur le traitement à appliquer grâce notamment au sujet suivant:
http://www.developpez.net/forums/d10...im-repertoire/

Néanmoins, j'ai exactement le même problème que ce qui est mentionné dans le post #7 de ce topic , à savoir que le premier fichier est traité deux fois, et contient donc un double renommage après exécution du traitement.
En l'état, si mon répertoire contient par exemple les fichiers TEST1.mdp et TEST2.mdp et que je lancer mon traitement, j'obtiens en sortie les fichiers TEST_TIMESTAMP_TIMESTAMP1.mdp (pas bon ) et TEST_TIMESTAMP2.mdp (Bon! )

Le code que j'utilise actuellement est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
setlocal enabledelayedexpansion
for %%i in (*.mdp) do (
set n=%%i
set x=!n:TEST=TEST_%CHRONO%!
ren !n! !x!
)                   
endlocal
Savez-vous, au regard de cette portion de code et en considérant que ma variable %CHRONO% fonctionne en tant que valeur du TIMESTAMP, pourquoi la boucle effectue un double remplacement sur un des fichiers traités? Je pense que cela provient d'une mauvaise utilisation de la boucle FOR? Ou est-ce lié à l'usage de %%i?
J'ai essayé de lire un peu les aides associées aux commandes.. J'ai beaucoup de mal à les digérer, je suis plutôt néophyte en batch

Par ailleurs, le code utilisé est-il plutôt sensé ou y a -t- il mieux à faire dans ce genre de cas?

Je précise, si c'est nécessaire, que j'ai pas mal fait de recherches et de tests avant de poster et que ce dernier souci récurrent va finir par avoir ma peau!..

Merci d'avance pour vos réponses!