MSDOS variable dans une boucle FOR

Fermé
titeuffr1 Messages postés 1 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 20 mars 2008 - 20 mars 2008 à 15:03
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 20 mars 2008 à 19:54
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
A voir également:

1 réponse

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
20 mars 2008 à 19:54
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