[DOS] Stocker résultat commande dans une variable
Résolu/Fermé
Shooter78
-
12 mars 2013 à 12:37
Shooter78 Messages postés 12 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 13 septembre 2014 - 13 mars 2013 à 00:42
Shooter78 Messages postés 12 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 13 septembre 2014 - 13 mars 2013 à 00:42
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
A voir également:
- [DOS] Stocker résultat commande dans une variable
- Invite de commande - Guide
- Commande terminal mac - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Lexer resultat - Télécharger - Sport
- Commande dism - Guide
7 réponses
Shooter78
Messages postés
12
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
13 septembre 2014
3
13 mars 2013 à 00:42
13 mars 2013 à 00:42
J'ai finalement réussi à faire ce que je voulais.
Voila le code pour obtenir le numéro de série:
Voici celui pour le modèle du pc:
Merci Dubcek pour ton aide
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
dubcek
Messages postés
18783
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 avril 2025
5 630
12 mars 2013 à 14:41
12 mars 2013 à 14:41
hello
essayer interactivement
essayer interactivement
for /F %a "delims=" %a in ('wmic csproduct get identifyingnumber') do set t=%a echo %t%dans un .bat, utiliser %%a
Bonjour,
j'obtiens ceci:
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.
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.
dubcek
Messages postés
18783
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 avril 2025
5 630
12 mars 2013 à 16:40
12 mars 2013 à 16:40
%a contient chaque ligne, ma commande stocke dans t la dernière ligne, donc la deuxième.
enlève tes set
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
merci pour ton aide
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
dubcek
Messages postés
18783
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 avril 2025
5 630
Modifié par dubcek le 12/03/2013 à 17:11
Modifié par dubcek le 12/03/2013 à 17:11
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)
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