IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

parcourir 2 fichiers en meme temps [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut parcourir 2 fichiers en meme temps
    Bonjour,

    Je cherche à parcourir la meme ligne dans 2 fichiers differents et les stocker dans 2 variables distincte

    pour exemple

    filelist.txt contient une liste de nom de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nom du fichier 1
    nom du fichier 2
    nom du fichier 3
    ....
    titre.txt contient la liste des titres correspondant au nom de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    titre 1
    titre 2
    titre 3
    ...
    Je souhaiterai stocké la ligne x de chaque fichier dans 2 variables, ainsi cela me donnerait:

    variable1= nom du fichier 1
    variable2= titre 1
    ...
    variable1= nom du fichier 2
    variable2= titre 2
    ...
    variable1= nom du fichier 3
    variable2= titre 3

    .....

    Mais le probleme que je rencontre est qu'avec 2 instructions FOR, je parcours le 1er fichier puis le 2 emme ensuite
    ci-dessous une esquisse de mon bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    REM echo off
    dir *.flac /B /O:N > filelist.txt
    FOR /F "delims=" %%i IN (filelist.txt) DO (call :extr "%%i" )
    goto :fin
    :extr
    echo %1
    FOR /F %%j IN (titre.txt) DO (call :thx "%%j" )
    :thx
    echo %1
    goto :eof
    :fin
    REM del filelist.txt
    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Voilà une solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    :::PAR SACHADEE 29-05-2013
    
    @echo off&coor e&cls
    
    SET file1=filelist.txt
    SET file2=titre.txt
    
    SET $IT=1
    SET $IT_2=
    
    setlocal enabledelayedexpansion enableextensions
    
    FOR /F "DELIMS=" %%A IN (%file1%) DO (SET $IT_2=1
                                         (FOR /F "DELIMS=" %%B IN (%file2%) DO (REM ECHO !$IT! !$IT_2!             
                                                                                IF !$IT!==!$IT_2! (ECHO #LIGNE !$IT!&ECHO #CORRESPONDANCE# %%A %%B&ECHO.)
                                                                                SET /A $IT_2+=1))
                                          SET /A $IT+=1)
    
    :END
    ENDLOCAL
    Amicalement

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    Ok merci.
    J'ai compris le fonctionnement a un detail pret:
    A quoi servent les !!! et $ dans ce genre d'expression:

    merci encore

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Le "$" à rien
    et le "!" c'est l'équivalent du "%" en expansion retardée

    Amicalement

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 130
    Par défaut
    du coup j'ai un peu readapter histoire de mettre ma patte , mais y a un truc que j'arrive pas a comprendre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    rem echo off
    
    SET file1=filelist.txt
    SET file2=titre.txt
    
    SET $IT=1
    SET $IT_2=
    
    rem setlocal enabledelayedexpansion enableextensions
    
    FOR /F "DELIMS=" %%A IN (%file1%) DO (SET $IT_2=1
    					SET name=%%A
                                         (FOR /F "DELIMS=" %%B IN (%file2%) DO (
    
    
    set titre=%%B
    IF !$IT!==!$IT_2! (
    rem echo %titre%
    rem echo %name%
    dir
    )
                                                                                SET /A $IT_2+=1))
                                          SET /A $IT+=1)
    
    :END
    ENDLOCAL
    j'arrive pas à comprend re pourquoi la commande "DIR" n'est pas executé et juste affichée comme du texte.

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Tu dois supprimer ce rem :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rem setlocal enabledelayedexpansion enableextensions
    et si tu veux faire un echo du titre et du nom utilise :

    pas avec les %

    amicalement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Uploader plusieurs fichiers en meme temps
    Par Pierre FORAZ dans le forum XMLRAD
    Réponses: 1
    Dernier message: 17/09/2007, 09h09
  2. Réponses: 2
    Dernier message: 24/08/2007, 20h17
  3. Changer les proprietes de plusieurs fichiers en meme temps
    Par VlaMonPseudo dans le forum Windows
    Réponses: 2
    Dernier message: 27/07/2007, 15h51
  4. Réponses: 8
    Dernier message: 24/07/2006, 12h26
  5. Réponses: 8
    Dernier message: 06/07/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo