Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1570 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1298600
Kurrt
Posté le 03-02-2006 à 15:19:36  profilanswer
 

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 ;)

mood
Publicité
Posté le 03-02-2006 à 15:19:36  profilanswer
 

n°1298863
Carbon_14
Posté le 03-02-2006 à 21:08:31  profilanswer
 

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

n°1298959
CyBeRo
Posté le 04-02-2006 à 09:33:54  profilanswer
 

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

n°1298966
aldo13000
Posté le 04-02-2006 à 11:09:03  profilanswer
 

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


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

n°1299063
wackevat
Posté le 04-02-2006 à 15:44:05  profilanswer
 

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.

n°1299090
aldo13000
Posté le 04-02-2006 à 17:26:35  profilanswer
 

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


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

n°1299110
Carbon_14
Posté le 04-02-2006 à 18:18:21  profilanswer
 

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.   :)

n°1299117
wackevat
Posté le 04-02-2006 à 18:29:01  profilanswer
 

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.

n°1299143
aldo13000
Posté le 04-02-2006 à 19:45:32  profilanswer
 

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 .


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

n°1299144
Carbon_14
Posté le 04-02-2006 à 19:49:16  profilanswer
 

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

mood
Publicité
Posté le 04-02-2006 à 19:49:16  profilanswer
 

n°1299153
wackevat
Posté le 04-02-2006 à 20:04:21  profilanswer
 

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

n°1299156
aldo13000
Posté le 04-02-2006 à 20:16:51  profilanswer
 


 
 
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 .


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

n°1299157
wackevat
Posté le 04-02-2006 à 20:27:11  profilanswer
 

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

n°1299919
Kurrt
Posté le 06-02-2006 à 16:53:10  profilanswer
 

Merci bien  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

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

 

Sujets relatifs
Telecharger plusieurs fichier en mème tempsLire un fichier *.ogg avec DirectX
Numérotation dans requête sql vers fichier Excelphp/mysql afficher les resultat dans le désordre
Développer une appli pour envoi de sms via un portail webmacro Nom du fichier en cours
Batch Extraire les email d'un fichier txt[ASP.NET] La commande SHELL ne s execute pas
[BATCH] Détecter une chaine 
Plus de sujets relatifs à : [Batch] envoi du résultat d'une commande dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR