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

Windows Discussion :

[batch] recupérer la valeur d'une commande


Sujet :

Windows

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut [batch] recupérer la valeur d'une commande
    bonjour,

    cette commande m'affiche la valeur d'une variable qui se trouve dans l'appareil à l'adresse IP "IP_SRC". ça ne marchera pas chez vous car il faut installer les commandes snmp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set IP_SRC=10.0.200.190
    set IP_DEST=10.0.200.191
    
    set VAR_SNMP_ID=enterprises.20000.13.1.0
    
    snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%
    rem snmpset -v 1 -c public %IP_DEST% %VAR_SNMP_ID% i %VALUE%
    
    pause
    => le problème est que je voudrais faire une copy de cette variable vers un autre appareil grace à la commande snmpset. Comment faire pour récupérer la valeur renvoyée par snmpget pour pouvoir la mettre dans la commande snmpset ?



    si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID% > value.txt
    je crée un fichier .txt avec à l'interrieur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SNMPv2-SMI::enterprises.20000.13.1.0 = STRING: "hello world"
    => j'aimerais donc pouvoir récuperer "hello world" et le mettre dans une variable (si possible, sans créer de fichier .txt comme je l'ai fais avec cette commande)


    en changeant les parametres de ma fonction snmpget, le fichier text est parsé de differentes façon, si ça peux vous aider je peux avoir comme format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SNMPv2-SMI::enterprises.20000.13.1.0 "hello world"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SNMPv2-SMI::enterprises.20000.13.1.0 = "hello world"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SNMPv2-SMI::enterprises.20000.13.1.0 = STRING: "hello world"

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Salut

    Si c'est le résultat de cette commande que tu veut récupérer dans une variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%
    C'est comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims=" %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i
    Mais au fait, a quoi te sert ce script ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    je n'arrive pas à faire fonctionner la commande => ça me récupère tout le texte et nom pas juste la valeur de la variable.

    J'ai pas bien compris ce que fait : /f "delims="

    ce que je veux faire, c'est récuperer la valeur d'une variable d'un appareil et la transférer sur une autre appareil...

  4. #4
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Montre moi se que sa renvoie

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    voici le code du script :
    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
    rem This Script copy system configuration.
    rem Save file with file name extention ".bat". Edit file with text Editor and change IP_SRC and IP_DEST value.  
    rem IP_SRC = IP source
    rem IP_DEST = IP destination
    
    set IP_SRC=10.0.200.190
    set IP_DEST=10.0.200.190
    
    set VAR_SNMP_ID=enterprises.20000.13.1.0
    
    for /f "delims=" %%i in ('snmpget -v 1 -O Q -c public %IP_SRC% %VAR_SNMP_ID%') do set VALUE=%%i
    
    snmpset -v 1 -c public %IP_DEST% %VAR_SNMP_ID% i %VALUE%
    
    pause
    remarque : pour mes tests IP_SRC et DEST ont la meme valeur mais normalement ils devraient etre differents.

    voila ce que me donne la console :

  6. #6
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Donne moi juste se que renvoie la boucle for

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    %%i vaut :
    SNMPv2-SMI::enterprises.20000.13.1.0 = "%0a202....."
    alors qu'il devrait valoir :
    "%0a202....."

  8. #8
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Essaye avec ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=3 delims= " %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci ça marche.
    par contre comment fait-on si on veut que le delimiteur soit le caractère " ?

  10. #10
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2 delims="" %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    tu es sure ? ça n'a pas l'air de marcher chez moi...

    j'ai aussi essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2 delims=\"" %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2 delims=""" %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=2 delims='"'" %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i

  12. #12
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Tu peut prendre " comme délimitateur par ce que tu veut supprimer les guillements dans "%0a202....." ?
    Si oui ceci suprime les guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "tokens=3 delims= " %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i
    set vrtest=%vrtest:"=%
    echo %vrtest%

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci beaucoup

    par contre d'ou sais-tu tout ça ? tu connais un bon cours batch qui explique tout ça (j'ai chercher sous google masi je n'ai trouvé que des commandes de bases) ?

  14. #14
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Non j'ai apris a faire des batch en posant des questions sur des forums

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    j'ai une autre petite question (ça devrait etre la dernière) :
    est-il possible de recuprer la valeur dans une variable (ça c'est OK) et en meme temps l'ecrire dans un fichier .txt ?

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    c'est bon, j'ai trouvé => il faut mettre dans la boucle :
    do echo %%i > values.txt

  17. #17
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "tokens=3 delims= " %%i in ('snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID%') do set vrtest=%%i
    set vrtest=%vrtest:"=%
    echo %vrtest%
    echo %vrtest% > fichier.txt

  18. #18
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    c'est vrai que ma solution n'enleve pas les guillements...merci

  19. #19
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    De rien
    Si ta d'autres question n'ésite pas

    Mais au fait c'est quoi cette commande snmpget ?

  20. #20
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    snmpget : recupere la valeur d'une variable via le protocole snmp
    snmpset : affecte une valeur à une variable via le protocole snmp
    => ce ne sont pas des commandes qui sont installées d'origine avec windows...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. recupération de valeurs d'une combobox provoque un problème
    Par inforlab dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2008, 10h38
  2. Réponses: 3
    Dernier message: 08/08/2008, 10h10
  3. Comment recupérer la valeur d'une variable dans l'URL
    Par pierrot10 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 24/06/2008, 02h56
  4. [Ajax] Recupérer la valeur d'une liste
    Par Kaimann dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/02/2006, 18h22
  5. [VB]comment recupérer la valeur d'une variable ?
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/02/2006, 14h35

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