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 :

Commandes BATch windows


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 35
    Par défaut Commandes BATch windows
    Bonjour,
    je cherche la commande permettant de récupérer un contenu texte compris entre <blabla> et <blibli> puis qu'il me le copie dans un fichier texte..

    Je sais que cette ligne de code n'est pas sorcier mais j'assure avoir cherché en vain..

    Je vous en remercie par avance

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    la commande findstr

  3. #3
    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,

    Ton texte a recuperer est sur une ligne ou sur plusieurs ligne ?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 35
    Par défaut
    Bonsoir Messieurs,
    je cherche plus précisément à saisir un contenu sur plusieurs lignes..
    Merci pour votre retour

  5. #5
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par Jessyjames75 Voir le message
    Bonsoir Messieurs,
    je cherche plus précisément à saisir un contenu sur plusieurs lignes..
    Merci pour votre retour

    Dans ce cas il faut utiliser alors, les Expressions Régulières.
    voici un outil en HTA qui vous permet de tester vos motifs (Pattern) RegexTester

  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
    Jái écris ce bout de code qui ecris dans sortie.txt tout ce qu'il y a entre
    les balises <toto> et <tata> dans le fichier f.txt.

    f.txt :
    tutu tete <toto> titi1 titi2
    titi3 titi4 tatu tita tita
    titi toto tyty <tata> tytr
    Le Code :

    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
    :::::::Par SachaDee
    :::::::09-01-2012
    
    @echo off
    
    ::::DEFINITION DES BALISES
    
    set valeur1="<toto>"
    set valeur2="<tata>"
    
    
    @echo off
    setlocal enabledelayedexpansion enableextensions
     
    set sw1=0
     
    for /f  "delims=" %%a in (f.txt) do (echo.>>sortie.txt
                                          for /d  %%b in (%%a) do (if "%%b"==%valeur2% goto end
                                                                   if !sw1!==1 echo %%b>>sortie.txt 
                                                                   if "%%b"==%valeur1% set sw1=1
                                                                   ))
                 
     
    :end
     
    endlocal
    Le résultat dans sortie.txt est le suivant :


    titi1
    titi2

    titi3
    titi4
    tatu
    tita
    tita

    titi
    toto
    tyty
    Chaque espace correspond a un saut de ligne. Tous ce qui est coller appartient à la même ligne.

    Voilà

    A toi d'améliorer le code pour avoir les lignes à l´horizontale, par exemple.

    Amicalement

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 35
    Par défaut
    Bonjour à tous,
    Excellent resultat, cela colle tout à fait à ce que je cherchais à faire
    Sasha, une fois de plus tu es un sauveur !

    Tout comme pour l'aute sujet, je teste ca et confirme...

    Chapeau bas l'artiste

  8. #8
    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
    Une autre solution pour des fichiers XML ou il n'y a pas d'espace entre les balises et les valeurs à récuperer. On va utiliser la substitution pour creer une valeur "#1#" à la place de la balise <balise> et "#2#" à la place de </balise>
    et on affiche tous ce qu'il y a entre #1# et #2#

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    ::::Par SachaDee
    ::::07/02/2013
    
    @echo off
    
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::::DEFINITION DE LA BALISE
    ::::MODIFIER CETTE VALEUR POUR INDIQUER QUEL BALISE IL FAUT PARSER SANS <>
    ::::EXEMPLE ICI <X509Certificate>
    
    set valeur1=X509Certificate
    
    ::::DEFINITION DU FICHIER XML
    ::::OU SERA EFFECTUE LA RECHERCHE
    
    set f_xml=1.xml
    
    
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    
    set valeur2=/%valeur1%
    setlocal enabledelayedexpansion enableextensions
     
    set sw1=0
     
    for /f  "delims=" %%a in (%f_xml%) do (rem echo %%a
                                                            set ligne=%%a
                                                            set ligne=!ligne:^<%valeur1%^>= #1# !
                                                            set ligne=!ligne:^<%valeur2%^>= #2# !
                                                            for /d  %%b in (!ligne!) do (if "%%b"=="#2#" goto end
                                                                                                      if !sw1!==1 echo %%b
                                                                                                      if "%%b"=="#1#" set sw1=1
                                                              ))
                 
     :end
    endlocal
    
    pause
    Le batch c'est Génial !!!

    Amicalement

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/11/2013, 06h37
  2. Réponses: 9
    Dernier message: 24/11/2008, 13h11
  3. Commande batch
    Par Arkenstone dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 23/07/2006, 13h29
  4. batch windows , CSRIPT et xCopy
    Par secteur_52 dans le forum Windows
    Réponses: 14
    Dernier message: 18/11/2005, 22h33
  5. commandes du windows media player
    Par Tierisa dans le forum Access
    Réponses: 6
    Dernier message: 09/09/2005, 08h45

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