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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  problème accents résultat batch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème accents résultat batch

n°1285351
maxidimo
Posté le 17-01-2006 à 11:51:58  profilanswer
 

Bonjour à tous,
 
voici mon soucis.
 
je lance un batch que je redirige avec un txt :
genre de ligne : @copy /y k:\config.txt c:\reception\x.txt >>resultatscript.txt
 
Dans mon fichier généré (resultscript.txt); il me met :  
"La commande s'est termin‚e correctement." ou encore "1 fichier(s) copi‚(s)."
 
COMMENT FAIRE POUR QU'IL ME METTE UN "é" et non cette virgule, c'est important pour pouvoir me servir de ce résultat.
 
2ème question bonus : Savez vous comment exporter des résultats de txt vers un fichier excel qu'il me génère et me met automatiquement à jour !
 
Merci d'avance !! :)  
toutes les réponses sont les bienvenues !

mood
Publicité
Posté le 17-01-2006 à 11:51:58  profilanswer
 

n°1285381
the big be​n
Posté le 17-01-2006 à 12:24:07  profilanswer
 

Pour la question bonus, tu peux essayer en mettant un .csv à la place du .txt (je ne sais pas si ca répond à tes besoins) et tu lie ton .xls à ton .csv en source externe
 
Pour l'autre c'est un problème de jeu de caractère mais je ne sais pas trop comment le résoudre...

n°1285382
francky06l
Posté le 17-01-2006 à 12:24:08  profilanswer
 

Semble lie a un probleme de code page ou locale system. Avec quoi regarde tu le fichier genere ?

n°1285442
wackevat
Posté le 17-01-2006 à 13:23:55  profilanswer
 
n°1285510
maxidimo
Posté le 17-01-2006 à 14:21:54  profilanswer
 


 
 
j'ai vu ces posts, mais ca ne correspond pas à ce que je veux.
je m'explique, ce n'est pas moi qui écrit des lignes comme ""La commande s'est termin‚e correctement." ou encore "1 fichier(s) copi‚(s)." " dans le batch, mais c'est la réponse à ma commande. Je ne peux donc pas directement agir sur sa réponse, qui bien entendu n'apparait pas dans la question que je lui pose  :)  

n°1285513
maxidimo
Posté le 17-01-2006 à 14:23:34  profilanswer
 

francky06l a écrit :

Semble lie a un probleme de code page ou locale system. Avec quoi regarde tu le fichier genere ?


 
quand je le genere en txt, que je le regarde avec notepad ou wordpad ou même word c'est pareil.
j'ai même essayé de lui faire générer un doc au lieu d'un txt mais c'est pareil.

n°1285517
maxidimo
Posté le 17-01-2006 à 14:26:34  profilanswer
 

the big ben a écrit :

Pour la question bonus, tu peux essayer en mettant un .csv à la place du .txt (je ne sais pas si ca répond à tes besoins) et tu lie ton .xls à ton .csv en source externe
 
Pour l'autre c'est un problème de jeu de caractère mais je ne sais pas trop comment le résoudre...


 
merci pour la question BONUS, je viens d'apprendre ce qu'est un csv. Tu me donne là une bonne piste à creuser  ;)  
 
bon, reste l'autre question pour que j'ai l'honneur d'écrire RESOLU dans le sujet  :bounce:

n°1285602
wackevat
Posté le 17-01-2006 à 15:31:46  profilanswer
 

maxidimo a écrit :

j'ai vu ces posts, mais ca ne correspond pas à ce que je veux.
je m'explique, ce n'est pas moi qui écrit des lignes comme ""La commande s'est termin‚e correctement." ou encore "1 fichier(s) copi‚(s)." " dans le batch, mais c'est la réponse à ma commande. Je ne peux donc pas directement agir sur sa réponse, qui bien entendu n'apparait pas dans la question que je lui pose  :)


Mais si tu sauvegardes ton script en format DOS (donc après avoir tapé "s'est terminée", la sauvegarde le convertira en "s'est termin,e" ), tu devras pouvour comparer les chaînes, non ?
 
Sinon, je me suis écrit il y a un temps un ptit utilitaire qui fait des allers-retours entre ces deux formats, si ça t'intéresse pour convertir soit la sortie soit l'entrée avant la comparaison.

n°1285626
maxidimo
Posté le 17-01-2006 à 15:59:53  profilanswer
 

nglechau,
 
Quand je t'ai lu, je me suis dit qu'on s'était pas compris. Puis je suis retourné dans wordpad en j'ai enregistré en format texte MS-DOS.
Rien n'a changé, ca marche toujours pas.
 
je me dit donc que c'est peut-être moi qui ne comprends pas, l'essentiel de mes connaissances infos n'étant pas dans ce domaine.
 
Ce que je disais, c'est que le fichier que j'ai créé ne contient pas les phrases comme """La commande s'est termin‚e correctement." ou encore "1 fichier(s) copi‚(s)." ", ce ne sont pas des echo !
Ces phrases apparaissent quand j'éxecute mon script, dans mon rapport, il est donc trop tard pour agir.
 
Espérant qu'on finisse par se comprendre :)

n°1285635
wackevat
Posté le 17-01-2006 à 16:09:31  profilanswer
 

OK. Reprenons ;)
 
Quand tu "parses" la sortie de ta commande, tu fais une recherche d'une chaîne précise je suppose ? Et c'est parce que dans la sortie, il y a des caractères spéciaux que ta comparaison/recherche ne donne pas le résultat souhaité ?
 
Si tu peux poster un exemple simple, ça nous avancera ;)

mood
Publicité
Posté le 17-01-2006 à 16:09:31  profilanswer
 

n°1285681
maxidimo
Posté le 17-01-2006 à 16:32:00  profilanswer
 

wackevat a écrit :

OK. Reprenons ;)
 
Quand tu "parses" la sortie de ta commande, tu fais une recherche d'une chaîne précise je suppose ? Et c'est parce que dans la sortie, il y a des caractères spéciaux que ta comparaison/recherche ne donne pas le résultat souhaité ?
 
Si tu peux poster un exemple simple, ça nous avancera ;)


 
OK, let's GO !
 
SCRIPT :
 
@echo ********! DISNEYLAND! ******** >>resultatscript.csv
@echo ------ Liberation du lecteur K: ------ >>resultatscript.csv
@net use k: /delete >> resultatscript.csv  
@echo ------ Connexion disneyland ------ >>resultatscript.csv
@net use K: \\192.168.10.112\livraison /user:hardware fr /y >>resultatscript.csv
@copy /y /a k:\config.txt c:\reception\disneyland.txt >>resultatscript.csv
@copy /y /a k:\rapport.txt c:\reception\disneyland.txt >>resultatscript.csv
 
RESULTAT (sous excel) :
 
********! DISNEYLAND! ********  
------ Liberation du lecteur K: ------  
k: a ‚t‚ supprim‚.
 
------ Connexion disneyland ------  
La commande s'est termin‚e correctement.
 
        1 fichier(s) copi‚(s).
        1 fichier(s) copi‚(s).
 
==> Mon but sera ensuite de repérer des mots clés comme  
* « La commande s'est termin‚e correctement. » (mais avec un é)
* 1 fichier(s) copi‚(s). (mais avec un é)
 
Je veux donc que la syntaxe soit bonne, je ne veut pas saisir de virgules dans la chaine à repérer. Je veux qu'il me parle français et non avec des virgules. :non:


Message édité par maxidimo le 17-01-2006 à 16:33:07
n°1285755
wackevat
Posté le 17-01-2006 à 17:18:55  profilanswer
 

OK ;)
 
Alors c'est le fichier final que tu veux "rectifier" et non pas des données intermédiaires.
 
Dans ce cas si tu veux je peux t'envoyer mon utilitaire qui  sait convertir du charset OEM en ANSI. Il supporte également le mode ligne de commandes, ainsi tu peux l'utiliser depuis ton batch pour convertir le fichier de résultat en bon format.
 
Je ne pense pas que Windows le supporte nativement.

Message cité 1 fois
Message édité par wackevat le 17-01-2006 à 17:20:28
n°1285763
maxidimo
Posté le 17-01-2006 à 17:25:25  profilanswer
 

wackevat a écrit :

OK ;)
 
Alors c'est le fichier final que tu veux "rectifier" et non pas des données intermédiaires.
 
Dans ce cas si tu veux je peux t'envoyer mon utilitaire qui  sait convertir du charset OEM en ANSI. Il supporte également le mode ligne de commandes, ainsi tu peux l'utiliser depuis ton batch pour convertir le fichier de résultat en bon format.
 
Je ne pense pas que Windows le supporte nativement.


 
En fait, le top pour moi aurait été de corriger le problème à la source, mais je ne crois pas qu'il y ait de commutateur adéquat.
je suis sous windows pour faire ça, malheureusement, mais je récupère sur des serveurs Linux. ;)  
 
Je veux bien ton utilitaire, espérant que ça pase quand même sous Windows.

n°1285806
wackevat
Posté le 17-01-2006 à 17:49:56  profilanswer
 

Mon programme fonctionne sous Windows bien sûr, c'est pour être appelé depuis ton batch ;)
 
Je n'avais pas trouvé comment faire par les commandes Windows, c'est pourquoi je l'ai écrit car j'en avais besoin énormément.
 
Je te l'envoie ce soir par MP quand je serai rentrée, là à l'école sous Linux, je ne l'ai pas sous la main ;)
 
@+

n°1285850
maxidimo
Posté le 17-01-2006 à 18:28:00  profilanswer
 

wackevat a écrit :

Mon programme fonctionne sous Windows bien sûr, c'est pour être appelé depuis ton batch ;)
 
Je n'avais pas trouvé comment faire par les commandes Windows, c'est pourquoi je l'ai écrit car j'en avais besoin énormément.
 
Je te l'envoie ce soir par MP quand je serai rentrée, là à l'école sous Linux, je ne l'ai pas sous la main ;)
 
@+


 
merci d'avance  :hello:


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

  problème accents résultat batch

 

Sujets relatifs
probleme de pointeur[resolu] [perl] problème "lib text::template" suite migration server
Algexec problemeProblème de timeout
[résolu] Problème d'affichage avec boite flottante.Probleme verification existance d'un mot
probleme de liste deroulanteprobleme de formulaire
Existe-t-il un equivalent à eval(); qui retourne le resultat ?probleme de compatibilité IE/firefox en javascript
Plus de sujets relatifs à : problème accents résultat batch


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