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 :

Commandes wmic dans fichier batch [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Commandes wmic dans fichier batch
    Bonjour à tous,

    En règle général je trouve toujours une réponse dans les différents forums ou mes recherches Google, mais là je sèche.

    Si toutes les commandes WMIC dans un terminal donne leur dans un bon format, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    C:\>wmic path Win32_OperatingSystem get OSArchitecture,Version /value
    
    OSArchitecture=64 bits
    Version=6.1.7601
    Si maintenant je crée un fichier batch (encodage UTF-8 sans BOM) où je mets cette même commande avec une redirection de la sortie vers un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    set fichier=info_PC.txt
    echo %date% : %time% > %fichier%
    
    echo -------------------------- >> %fichier%
    echo Système d'exploitation >> %fichier%
    echo -------------------------- >> %fichier%
    
    wmic path Win32_OperatingSystem get OSArchitecture,Version /value >> %fichier%
    Une fois exécuté, le fichier est bien créé avec le bon résultat, MAIS un caractère NUL est inséré entre chaque lettre !? plus des lignes avec un simple caractère nul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    22/05/2015 : 23:56:26,84 
    -------------------------- 
    Système d'exploitation 
    -------------------------- 
      
     O S A r c h i t e c t u r e = 6 4   b i t s 
     
     V e r s i o n = 6 . 1 . 7 6 0 1
    Dans notepad++

    Nom : wmic.jpg
Affichages : 1861
Taille : 18,8 Ko

    Comment éviter ces caractères nuls ?

    Merci pour vos pistes.

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    C'est dû au fait que tu utilise UTF-8, les caractères A-Z,a-z,0-9, etc ... sont codés U+0x00<Code_ASCII> d'où les caractères NULL.

    Il faut que tu utilise CP-850 pour ne pas avoir ce problème.
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Merci pour ta réponse. Effectivement je n'avais percuté sur les caractères null d'encodage utf-8.

    Mais je viens de trouver aussi qu'en utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic /APPEND:%fichier% path Win32_OperatingSystem get OSArchitecture,Version /value
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path Win32_OperatingSystem get OSArchitecture,Version /value >> %fichier%
    je n'avais plus ce problème.
    Merci encore.

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Combine Batch/WMIC + ANSI/UNICODE Output formatting

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    set fichier=info_PC.txt
    echo %date% : %time% > %fichier%
    echo -------------------------- >> %fichier%
    echo Système d'exploitation >> %fichier%
    echo -------------------------- >> %fichier%
    wmic path Win32_OperatingSystem get OSArchitecture,Version /value |more >> %fichier%
    start %fichier%

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

Discussions similaires

  1. Commande bash dans fichier sh
    Par pilpoile dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 24/01/2013, 23h14
  2. Réponses: 2
    Dernier message: 05/10/2011, 09h11
  3. boucle sur la commande net use fichier batch
    Par nathantahiti dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/09/2011, 09h13
  4. Commandes écrites dans fichier texte suite à un spool
    Par sebduth dans le forum Sql*Plus
    Réponses: 0
    Dernier message: 01/10/2010, 15h14
  5. [AC-2003] Petite pause entre 2 commandes et pb fichier batch
    Par fase93 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/03/2010, 21h14

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