Batch

Résolu
Ka-El Messages postés 279 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Sous commande dos la boucle suivante me donne le résultat attendu :
for /f "tokens=1" %c in ('type c:\FHE\ident_error.txt') do (
set var2=%c
for /f "tokens=2 delims='" %d in ('peldsp display_trans -i %c^|find "x_org_alias"') do set org=%d
for /f "tokens=2 delims='" %e in ('peldsp display_trans -i %c^|find "x_destination"') do set dest=%e
echo %c %org% %dest% >> c:\FHE\Ctrl_box.log
)

Voici le résultat dans le fichier "Ctrl_box.log" :
0000017 TOTO TITI
0000101 TOTO DUDU

Par contre je n'arrive pas obtenir le même résultat dans un script .bat.
Voici le script :
for /f "tokens=1" %%c in ('type c:\FHE\ident_error.txt') do (
set var2=%%c
for /f "tokens=2 delims='" %%d in ('peldsp display_trans -i %%c^|find "x_org_alias"') do set org=%%d
for /f "tokens=2 delims='" %%e in ('peldsp display_trans -i %%c^|find "x_destination"') do set dest=%%e
echo %%c %%d %%e >> %Ctrl_box%
)

Le résultat dans le fichier "Ctrl_box.log" est le suivant :
0000017 %d %e
0000101 %d %e

Quelqu'un pourrait-il m'aider à résoudre cette anomalie ?

Merci

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    et avec
    echo %%c %org% %dest%  >> %Ctrl_box%
    à la place de
    echo %%c %%d %%e  >> %Ctrl_box% 
    0
  2. Ka-El Messages postés 279 Statut Membre
     
    Salut Dubcek,

    Je viens d'essayer ta proposition, et j'obtiens le résultat suivant :
    0000017
    0000101

    Les variables %%d et %%e ne sont visiblement plus prises en compte.

    Dur... dur...
    0
  3. Ka-El Messages postés 279 Statut Membre
     
    Je viens d'ajouter un echo dans ma boucle :
    for /f "tokens=1" %%c in ('type c:\FHE\ident_error.txt') do (
    set var2=%%c
    for /F "tokens=2 delims='" %%d in ('peldsp display_trans -i %%c^|find "x_org_alias"') do set org=%%d
    echo %org% >> %ctrlpit%

    Et voici le résultat :
    0000017
    Commande ECHO d'sactiv'e.

    C'est quoi ce "Commande ECHO d'sactiv'e." ???
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      ça veut dire que %org% est vide
      essayer
      setlocal enableDelayedExpansion
      au début du .bat et
      echo !org! >> %ctrlpit% 
      0
    2. Ka-El Messages postés 279 Statut Membre
       
      Bravo ! c'est la solution !
      En revanche %org% n'est pas vide.

      Mais le principal c'est que ça marche maintenant.
      Merci beaucoup pour ta collaboration ! ;-)
      0
    3. Ka-El Messages postés 279 Statut Membre
       
      A clôturer ! Merci.
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      cliquer sur Résolu au dessus du premier message
      0