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 :

Comment faire les commandes "TAIL -1" et "cut"


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 7
    Par défaut Comment faire les commandes "TAIL -1" et "cut"
    Bonjour,


    Voila j'ai deux petits problèmes dans mon script.bat

    1) Après avoir fait un find "texte" fichier.xml je me retrouve avec

    <texte>CE QUE JE RECHERCHE </texte>

    J'ai essayé ça mais j'ai quelque chose en boucle...

    for /f "delims=<,>" %a in (fichier.xml) do (find "texte" fichier.xml)

    J'aimerais savoir comment récupérer juste "ce que je recherche" sachant que je ne sais pas à l'avance à quoi ressemble celui ci..

    2) Après avoir fait dir | find "texte"

    Je me retrouve avec texte01,texte02_2013 etc.. j'aimerais récupérer juste le dernier texte*(celui qui est le plus en bas de mon dir en faite) comment faire ? (sous linux un tail -1 et c'est finit mais sous batch.. )

    Merci d'avance je suis novice soyez clément

    ps : je ne veux rien installer de plus ( de type cygwin etc..)


    Un navigateur

  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,

    pour ton premier probleme regarde ici

    Pour ton 2eme problème, plus tard je dois allez bosser....

    Mais en gros tu dois faire une boucle FOR sur DIR /B | FIND "texte" en redefinissant une variable a chaque itération. ainsi au final ta variable aura la valeur du dernier élément trouvé.

    Amicalement

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 7
    Par défaut
    Merci pour ces informations !

    J'avais commencé à lire ce topic mais je comprenais pas grand chose. J'ai du mal avec le FOR /F mais je poursuis et je te tiens au courant si c'est résolu.

    Edit1 : J'ai un problème mon prob 1 parce que "ce que je recherche" est un chemin de type C:\Program Files\... ou D:\... et la réponse au for ou (je pense) à la ligne if !sw1! echo %%b est "Le volume dans le lecteur C n'a pas de nom.Le numéro de série du volume est ..." . Une idée du problème?

  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
    Envoie le bout du fichier ou tu va récuperer le chemin entre 2 balises
    (problème 1).

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 7
    Par défaut
    C'est quelque chose qui ressemble à ça :

    <backupPath>C:\Program Files\Jenkins</backupPath>

    Je récupère ça grâce à find "backupPath" nomdufichier.xml mais la je voudrais mettre dans une variable le chemin C:\...

    Prob1 : if "<backupPath>C:\Program" == "<backupPath>" goto end
    if !sw1! == 1 set chemin=<backupPath>C:\Program
    if "<backupPath>C:\Program" == "</backupPath>" set sw1=1
    )
    if "Files\Jenkins</backupPath>" == "<backupPath>" goto end
    if !sw1! == 1 set chemin=Files\Jenkins</backupPath>
    if "Files\Jenkins</backupPath>" == "</backupPath>" set sw1=1
    echo 0
    )
    sw1 n'est jamais à 1..

    J'y suis presque mais j'ai toujours ce bug et j'ai pas pu continuer hier..

    Edit: Prob 2 résolu

    Merci pour tes réponses en tout cas Sacha.

  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
    Utilise la substitution pour ne récupérer que le chemin

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    setlocal enabledelayedexpansion enableextensions
    
    set chemin="<backupPath>C:\Program Files\Jenkins</backupPath>"
    
    set chemin=!chemin:^<backupPath^>=!
    set chemin=!chemin:^</backupPath^>=!
    
    echo.!chemin!
    Te rendra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "C:\Program Files\Jenkins"

    Amicalement

Discussions similaires

  1. Comment faire les MAJ de Vista sans Internet
    Par Floris dans le forum Administration
    Réponses: 2
    Dernier message: 03/12/2007, 18h39
  2. Comment avoir les commandes en mémoire ?
    Par Kylen dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 02/10/2007, 12h26
  3. [JMeter] Comment faire les tests sur Jmeter ?
    Par yanker_man dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 14/08/2007, 09h35
  4. Réponses: 3
    Dernier message: 23/11/2006, 17h59
  5. [Débutant] père, mère, fils, comment faire les jointures ?
    Par santana2006 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/09/2006, 16h21

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