problème accents résultat batch

problème accents résultat batch - Shell/Batch - Programmation

Marsh Posté le 17-01-2006 à 11:51:58    

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 !

Reply

Marsh Posté le 17-01-2006 à 11:51:58   

Reply

Marsh Posté le 17-01-2006 à 12:24:07    

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

Reply

Marsh Posté le 17-01-2006 à 12:24:08    

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

Reply

Marsh Posté le 17-01-2006 à 13:23:55    

Reply

Marsh Posté le 17-01-2006 à 14:21:54    


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

Reply

Marsh Posté le 17-01-2006 à 14:23:34    

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.

Reply

Marsh Posté le 17-01-2006 à 14:26:34    

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:

Reply

Marsh Posté le 17-01-2006 à 15:31:46    

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.

Reply

Marsh Posté le 17-01-2006 à 15:59:53    

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

Reply

Marsh Posté le 17-01-2006 à 16:09:31    

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

Reply

Marsh Posté le 17-01-2006 à 16:09:31   

Reply

Marsh Posté le 17-01-2006 à 16:32:00    

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
Reply

Marsh Posté le 17-01-2006 à 17:18:55    

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
Reply

Marsh Posté le 17-01-2006 à 17:25:25    

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.

Reply

Marsh Posté le 17-01-2006 à 17:49:56    

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

Reply

Marsh Posté le 17-01-2006 à 18:28:00    

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:

Reply

Sujets relatifs:

Leave a Replay

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