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 :

[BATCH] extraire une chaine du retour de commande


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut [BATCH] extraire une chaine du retour de commande
    bonjour,

    comment en bat puis je récupérer les caractères 12/13 de la premiere ligne affichée par une commande dos (commande dir)?
    là Je veux récupérer l'heure du premier fichier
    par exemple je veux prendre 05 de la commande
    donc de la chaine retournée 05/07/2008 05:00 who.dll

    c'est à dire l'équivalent de la commande unix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable=$(ls -l | head -1 | cut -c 47-49)

    J'ai tanté de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set fic=who.dll
    for /f "tokens=1 delims=:~12,2" %a in ('dir /p who.dll | find who.dll') do echo %a
    mais s'obtient rien...le dos ne sait pas faire un pipe dans un for ?? pitoyable non ? (alors que ça marche en commande dos simple)
    et j'ai tanter pour tester avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=1 delims=:~12,2" %a in ('echo azertyuioqsdfghjkl') do echo %a
    mais là carrément il ne m'interprete pas le délimiteur 12,2 ??

    à l'aide
    merci

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    ou en powershell eventuellement puisqu'il est disponnible sur nos serveurs.

    PS: j'ai l'impression de vous avoir posé la colle de sciecle pourtant ma question paraissait si simple

    var=un des éléments du contenu textuel de ce qui serai afficher par une commande classique

    c'est tellement simple (dans le concept) que j'ai été très étonné de ne pas avoir de réponde des gourous que je croise d'habitude ici...

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    la solution power shell
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $heure_fichier=(get-item truc.dll| get-date -uformat "+%H")
    echo $heure_fichier
    11

  4. #4
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    exemple de test
    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
    echo off
    [int]$heure_actuelle=get-date -uformat "+%H"
    if ( ! $heure_actuelle -eq 13 ) { 
        if ( ! $heure_actuelle -eq 17 )
        {
           exit
        }
    }
    [int]$heure_fichier=(get-item toto| get-date -uformat "+%H")
    $ecart=$heure_actuelle-$heure_fichier
    switch ($ecart) {
        { $_ -le 2 } {
                      C:\'Program Files'\BBWin\bin\bbwincmd obelix status tlsinfosogeti08 TEST green "TEST VOIR FRANCOIS"                  
                      exit        
                     }
    
        { $_ -gt 2 }  {
                      C:\'Program Files'\BBWin\bin\bbwincmd obelix status tlsinfosogeti08 TEST red "TEST VOIR FRANCOIS"
                      exit
                     }
        default      {
                      exit
                     }
    }
    
    exit


    pinaise c'est quand même bien galérien quand on connait rien du tout du monde windows....alors je pose la solution si ça peut aider qlq'1

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

Discussions similaires

  1. Extraire une chaine contenue entre 2 delimiteurs
    Par gregb34 dans le forum Langage
    Réponses: 2
    Dernier message: 17/02/2006, 08h21
  2. Extraire une chaine
    Par had182 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/01/2006, 18h24
  3. Extraire une chaine de caratere
    Par matthieu5978 dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2005, 19h52
  4. [RegEx] Extraire une chaine
    Par pierre50 dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2005, 12h43
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

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