[DOS] Stocker résultat commande dans une variable
Résolu
Shooter78
-
Shooter78 Messages postés 14 Statut Membre -
Shooter78 Messages postés 14 Statut Membre -
Bonjour,
Je voudrais savoir comment stocker le résultat d'une commande dans une variable ?
Voici la commande en question: "wmic csproduct get identifyingnumber"
Le résultat étant sur 2 ligne, je ne voudrais récupérer dans ma variable que la 2 seconde ligne.
Merci d'avance
Je voudrais savoir comment stocker le résultat d'une commande dans une variable ?
Voici la commande en question: "wmic csproduct get identifyingnumber"
Le résultat étant sur 2 ligne, je ne voudrais récupérer dans ma variable que la 2 seconde ligne.
Merci d'avance
7 réponses
-
J'ai finalement réussi à faire ce que je voulais.
Voila le code pour obtenir le numéro de série:FOR /F "tokens=2 delims==" %%B IN ('WMIC csproduct GET identifyingnumber /VALUE ^| FIND /I "IdentifyingNumber="') DO SET serial=%%B
Voici celui pour le modèle du pc:FOR /F "tokens=2 delims==" %%A IN ('WMIC csproduct GET Name /VALUE ^| FIND /I "Name="') DO SET machine=%%A
Merci Dubcek pour ton aide -
hello
essayer interactivementfor /F %a "delims=" %a in ('wmic csproduct get identifyingnumber') do set t=%a echo %t%dans un .bat, utiliser %%a -
Bonjour,
j'obtiens ceci:
C:\Windows\system32>for /F "delims=" %a in ('wmic csproduct get identifyingnumber') do set t=%a :\Windows\system32>set t=IdentifyingNumber :\Windows\system32>set t=XXXXXXXXXXX :\Windows\system32>set t= C:\Windows\system32>echo %t% Commande ECHO activée.
je pense que comme il y à plusieurs ligne, il redéfinit la variable pour chaque ligne.
Une idée ?
Merci encore pour votre aide .
Ps: XXXXXXXXXXXXX étant la ligne que je souhaite récupérer. -
%a contient chaque ligne, ma commande stocke dans t la dernière ligne, donc la deuxième.
enlève tes set -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Les ligne soulignées sont le résultat de la commande, ce n'est pas moi qui est mis les SET.
D'après le résultat il doit apparemment y avoir 3 lignes (une de vide ?) , ce qui expliquerais pourquoi à la fin j'obtiens le ECHO activée à la place du numéro de série
C:\Windows\system32>for /F "delims=" %a in ('wmic csproduct get identifyingnumber') do set t=%a :\Windows\system32>set t=IdentifyingNumber :\Windows\system32>set t=XXXXXXXXXXX :\Windows\system32>set t= C:\Windows\system32>echo %t% Commande ECHO activée.
merci pour ton aide -
possible effectivement , si il y a une ligne vide, il faut l'avant dernière
quel Windows ? j'ai XP
qu'affiche la comnmande (avec numérotation des lignes)wmic csproduct get identifyingnumber | findstr /n "."
mettre do @set t=%a pour ne pas voir les set s'affifcher -
J'ai Windows 7 pro x64.
voila le résultat de ta commande:
1:IdentifyingNumber 2:XXXXXXXXXXXX
Donc apparement il n'y a pas de 3ème ligne.
Bizarre.