[Batch] envoi du résultat d'une commande dans un fichier

envoi du résultat d'une commande dans un fichier [Batch] - Shell/Batch - Programmation

Marsh Posté le 03-02-2006 à 15:19:36    

J'ai un probleme d'ordre esthétique avec l'envoi du résultat d'une commande dans un fichier,
le jeu de caractère de windows (FR) n'est pas pris en compte par la commande ">" et je me retrouve donc avec des accents tronqués et 1 texte quelques fois incompréhensible en lecture rapide...
 

Code :
  1. C:\Documents and Settings\Admin>dir C:\Windows\system32 /P /AD D > C:\lol.txt > .\bureau\lol.txt


 
renvoie
 

Code :
  1. Le num‚ro de s‚rie du volume est ******
  2. R‚pertoire de C:\Windows\system32


 
donc si quelqu'un sait comment faire ce serait sympa merci ;)

Reply

Marsh Posté le 03-02-2006 à 15:19:36   

Reply

Marsh Posté le 03-02-2006 à 21:08:31    

J'avais écrit un filtre DOS pour transcoder des fichiers ASCII DOS pour les lire sous Windows 3. KI_WIN sur mon site ouèbe (rubrique "softs perso" ).
 
Ca devient
dir C:\Windows\system32 /P /AD D | KI_WIN > C:\lol.txt

Reply

Marsh Posté le 04-02-2006 à 09:33:54    

Crée ton batch avec PowerBatch astase.com il transcode les fichiers automatiquement  
 
si j'ai bien compris ton problème

Reply

Marsh Posté le 04-02-2006 à 11:09:03    

Tu peux essayer de lancer cmd  avec /u ,
comme ca : cmd /u
 


---------------

Reply

Marsh Posté le 04-02-2006 à 15:44:05    

Ici c'est l'histoire de conversion ANSI-OEM. cmd /u pour le support Unicode ne peut pas aider :)
 
PowerBatch non plus, puisque ce n'est pas l'entrée de la commande qu'il faut traiter mais la sortie.
 
La soluce de Carbon_14 est la bonne. J'avais aussi confronté à ce souci et pas trouvé une réponse "ad-hoc". Finalement, j'ai dû aussi m'écrire un utilitaire perso qui fait cette conversion.

Reply

Marsh Posté le 04-02-2006 à 17:26:35    

wackevat a écrit :

Ici c'est l'histoire de conversion ANSI-OEM. cmd /u pour le support Unicode ne peut pas aider :)
 
PowerBatch non plus, puisque ce n'est pas l'entrée de la commande qu'il faut traiter mais la sortie.
 
La soluce de Carbon_14 est la bonne. J'avais aussi confronté à ce souci et pas trouvé une réponse "ad-hoc". Finalement, j'ai dû aussi m'écrire un utilitaire perso qui fait cette conversion.


 
 
Moi aussi je me suis fait mon propre programme  ,
mais cmd /u fontionne , regarde  :
 
 Le volume dans le lecteur F n'a pas de nom.
 Le numéro de série du volume est 1CE7-FD94
 
 Répertoire de F:\
 
22/10/2004  13:59            18 725 main.exe
22/10/2004  11:52             3 563 main.cpp


---------------

Reply

Marsh Posté le 04-02-2006 à 18:18:21    

Sous Win2K, il met des caractères superfétatoires entre chaque lettre. Bizarre... (tellement que le copier/coller ne marche pas sous PFE)
 
Sous éditeur hexa, le fichier lol.txt commence par 20 00 H et chaque caractère ASCII est précédé d'un 00H (pas glop car c'est un terminateur naturel en C de chaîne, donc pas copiable -> chaîne nulle). :pfff:  
 
Par contre, sans redirection, le DIR semble pas mal. Avec ou sans le commutateur /u.   :)

Reply

Marsh Posté le 04-02-2006 à 18:29:01    

aldo13000 a écrit :


mais cmd /u fontionne , regarde  :
 
 Le volume dans le lecteur F n'a pas de nom.
 Le numéro de série du volume est 1CE7-FD94
 
 Répertoire de F:\
 
22/10/2004  13:59            18 725 main.exe
22/10/2004  11:52             3 563 main.cpp


Ce n'est pas la sortie affichée à l'écran qui pose le problème mais quand tu la rediriges dans un fichier texte (cf. premier post du topic).
 
@Carbon_14 : c'est normal : le nombre d'octets utilisés par caractère n'est plus le même.

Reply

Marsh Posté le 04-02-2006 à 19:45:32    

wackevat a écrit :

Ce n'est pas la sortie affichée à l'écran qui pose le problème mais quand tu la rediriges dans un fichier texte (cf. premier post du topic).
 


 
 
C'etait le contenu du fichier la mon truc , mébon .


---------------

Reply

Marsh Posté le 04-02-2006 à 19:49:16    

Sous quel OS ?
Avec Win2K, c'est castatropfique... :whistle:  :cry:  
Quand j'allume le portable, je teste sous XP.

Reply

Marsh Posté le 04-02-2006 à 19:49:16   

Reply

Marsh Posté le 04-02-2006 à 20:04:21    

Je ne mens pas :D
 
http://www.mezimages.com/image/nglechau/06020420020.jpg

Reply

Marsh Posté le 04-02-2006 à 20:16:51    


 
 
Ta raison ,  mais avec notepad tu peux voir la difference sur le fichier de sortie  
entre faire cmd  ou cmd / u  , c'est ca que j'avais pigé a la question de départ .


---------------

Reply

Marsh Posté le 04-02-2006 à 20:27:11    

Parce que la version Notepad de XP supporte (automatiquement) l'Unicode ;) Ce que tu vois n'est pas le contenu réel du fichier.

Reply

Marsh Posté le 06-02-2006 à 16:53:10    

Merci bien  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed