[Batch] problème d'écriture.

Résolu
Bonjour,

Voilà mon problème,
Je créé un script pour récupérer les numéros de série des machines d'un parc en les associant à leur nom de machine.

echo %computername% >>c:\serial.txt

wmic bios get serialnumber>>c:\serial.txt


Le résultat c'est :
MaMachine
%*$^ù!:


La 2ème ligne est constitué de carrés ou de rectangle avec écrit null dedans !

Si j'inverse les lignes c'est le nom du poste qui est composé de carré.
Et chaque ligne fonctionne indépendement mais je n'ai pas le droit de faire 2 batch.

Merci de m'éclairer.
Configuration: Windows XP
Firefox 3.0.11

10 réponses

  1. Contributeur
    hello
    et sans rediriger dans un fichier, ça s'affiche bien à l'écran ?
    et en redirigeant dans 2 fichiers séparés ?
    wmic génère peut-être de l'Unicode
    1. en effet dans 2 fichiers, cela fonctionne.
      Je pencherais pour l'unicode aussi mais je n'ai pas trouver de commande pour repasser en 'alphabet normal'.
      1. Contributeur
        type fichier_unicode > fichier_ascii
        va convertir, pour autant que le fichier unicode ait l'entête 0xff ou 0xfe, essaye mais je ne suis pas sûr que la redirection DOS place cette entete
        1. La ligne de commande ressemble à cela :
          c:\serial.txt_unicode > c:\serial.txt_ascii

          ?
          1. Ça ne fonctionne pas, il m'est indiqué :
            c:\serial.txt_unicode n'est pas une commande reconnue.
            1. Contributeur
              c'est la commande type qui convertit

              type c:\serial.txt_unicode > c:\serial.txt_ascii
              1. Désolé je comprend vite mais il faut m'expliquer longtemps, voila mon script en entier peut être ce sera plus simple :

                wmic bios get serialnumber>>c:\serial2.txt
                type c:\serial2.txt_unicode > c:\serial2.txt_ascii
                
                
                echo Nom de la machine>>c:\serial2.txt
                echo %computername% >>c:\serial2.txt
            2. Contributeur
              il faut utiliser le nom que tu lui a donné dans ta commande >>
              1. Contributeur
                comme je disais plus haut il faut tester car il n'est pas sur que le conversion se fasse, je n'ai pas la commande wmic

                wmic bios get serialnumber > c:\serial.txt
                type c:\serial.txt > c:\serial2.txt

                on affiche serial2.txt
                type serial2.txt

                si c'est ok
                echo Nom de la machine>>c:\serial2.txt
                echo %computername% >>c:\serial2.txt