Batch dos : Reformater un nom de fichier [Résolu/Fermé]

Signaler
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Bonjour,
Je suis un gros nul en batch, du coup j'en appelle à votre aide pour solutionner une problématique qui me prendra certainement plus d'une journée à résoudre (et encore...).
Voilà j'ai la variable suivante :
%name%
Celle-ci contient l'information suivante :
FDIVP60.FDVO05ER.TITOS099.D130607.H0402.TXT

à partir de cette variable, je dois obtenir le nom suivant :
TAP099LE_TITOS_130607_H0402.TXT

A savoir que les informations suivantes (situées dans la variable) sont suceptibles d'évoluer :
"099"
"TITOS"
"130607"
"0402"

Qui est le balèze qui pourrait m'aider à m'avancer dans mon travail ? ;-)
Merci par avance !
K

2 réponses

Messages postés
18246
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 juillet 2021
5 324
hello
essayer
C:> type bb.bat
@echo off
SETLOCAL ENABLEdelayedExpansion
set name=FDIVP60.FDVO05ER.TITOS099.D130607.H0402.TXT
for /f "delims=. tokens=1-6" %%a in ('echo %name%') do (
        set c1=%%c
        set c2=!c1:~0,5!
        set c3=!c1:~5,4!
        set d1=%%d
        set d2=!d1:~-6!
        set e1=%%e
        set e2=!e1:~-4!
        echo TAP099LE_!c2!_!d2!_H!e2!.TXT
)
C:> bb
TAP099LE_TITOS_130607_H0402.TXT
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020

Bonjour et merci encore Dubcek !
Tu me sauves une nouvelle fois la vie ;-)
@+
K