MSDOS variable dans une boucle FOR

titeuffr1 Messages postés 1 Statut Membre -  
cchristian Messages postés 928 Statut Membre -
Bonjour,

J'essaye d'utiliser une variable dans une boucle, le probleme c'est que cela ne me retourne rien

Voici le bout de code
set job=""
FOR %%e IN ("%repertoire%\%TOM_ENVIRONMENT%_%TOM_APPLICATION%_%TOM_JOB%*.*") do (
set job='echo %%e'
set alfred=jojo
echo %job%
echo %alfred%
echo %job:~-5%
set titi=%job:~-5%
echo %titi%

>> le resultat

C:\WINNT\system32>(
set job='echo c:\exploit\logs\vtom\\ROPPHA_SPODB1D2_Sauve_EXPJcpfic_boot_080320-145458.o'
set alfred=jojo
echo ""
echo
echo ""
set titi=""
echo

J'aimerai réutilisé dans une autre varaible le contenu de la variable %%e
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. cchristian Messages postés 928 Statut Membre 131
     
    bonsoir,

    Utilise l'expansion retardée de variable :

    SETLOCAL ENABLEdelayedExpansion
    ENABLEextensions
    CLS

    set job=""
    set "repertoire=ooo"
    set "TOM_ENVIRONMENT=TOM_ENVIRONMENT"
    set "TOM_APPLICATION=TOM_APPLICATION"
    set "TOM_JOB=TOM_JOB"

    FOR /F %%e IN ("%repertoire%\%TOM_ENVIRONMENT%_%TOM_APPLICATION%_%TOM_JOB%*.*") do (
    set job='echo %%e'
    set alfred=jojo
    echo JJJJJJJJJJJJJJJ !job!
    echo fffffffffffffff !alfred!
    echo mmmmmmmmmmmmmmm !job:~-5!
    set "titi=!job:~-5!"
    echo ttttttttttttttt !titi!
    )

    Résultats :
    JJJJJJJJJJJJJJJ 'echo ooo\TOM_ENVIRONMENT_TOM_APPLICATION_TOM_JOB*.*'
    fffffffffffffff jojo
    mmmmmmmmmmmmmmm B*.*'
    ttttttttttttttt B*.*'
    1