Batch dos : Reformater un nom de fichier

Résolu
Ka-El Messages postés 279 Statut Membre -  
Ka-El Messages postés 279 Statut Membre -
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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
    
    0
  2. Ka-El Messages postés 279 Statut Membre
     
    Bonjour et merci encore Dubcek !
    Tu me sauves une nouvelle fois la vie ;-)
    @+
    K
    0