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 :

Boucle for sur commande wmic [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 47
    Points : 57
    Points
    57
    Par défaut Boucle for sur commande wmic
    Bonjour a tous!
    J'ai un petit souci avec cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "skip=1" %%a in ('wmic memphysical get maxcapacity') do (if not [%%a] == [] set memory=%%a)
    Dans le resultat de la commande wmic memphysical get maxcapacity je ne souhaite que recuperer la valeur de la 2e ligne
    Je supprime donc l'entete a l'aide du skip=1
    Puis la boucle for passe sur la 2e ligne et affecte la variable memory
    jusque la tout va bien, sauf que le retour de la commande wmic retourne une 3e ligne vide.
    Malgré la condition if not [%%a] == [] il affecte quand meme la variable a une valeur null.

    Auriez vous une idée du probleme ou d'une methode de coutournement ?
    Merci a vous.

  2. #2
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Salut,
    Essaye ceci:
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off & cls
    setlocal EnableDelayedExpansion
     
    for /f "skip=1" %%a in ('wmic memphysical get maxcapacity ^| findstr /v /r "^$"') do (
    	if not "%%a" == "" set memory=%%a
    	echo !memory!
    )
    pause
    exit

    Pour information:

    findstr /?:

    /R Recherche les chaînes en tant qu'expressions.
    /V N'affiche que les lignes non correspondantes.
    ^ Emplacement : début de ligne
    $ Emplacement : fin de ligne
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 47
    Points : 57
    Points
    57
    Par défaut
    Genial , merci je n'avais pas pensé regex avec le findstr
    en revanche j'ai une contrainte et pas des moindres ... je ne peux le faire dans un batch mais dans une simple commande commencant par cmd /k.
    du coup ca me donne ca :
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd/k "for /f "skip=1" %a in ('wmic memphysical get maxcapacity ^| findstr /v /r "^^$"') do @set /A memory=%a/1048576"
    et ca fonctionne merci beaucoup.

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

Discussions similaires

  1. [AC-2003] Boucle For sur colonnes
    Par thebigrensky dans le forum VBA Access
    Réponses: 0
    Dernier message: 27/01/2010, 15h52
  2. Boucle FOR sur certaines colonnes
    Par coralie59 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/02/2009, 11h54
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    Réponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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