Recherche d'une ligne d'écriture ...

Recherche d'une ligne d'écriture ... - Shell/Batch - Programmation

Marsh Posté le 19-07-2005 à 17:02:53    

Bonjour,
 
Voila je suis en train de créer un batch qui me permet de faire une recherche d'une chaine de caractères dans un fichier texte.
Cependant, j'ai quelques contraintes : je dois lire le fichier à partir de la date du jour qui est sous la forme aaaammjj-hh:mm:ss . Et ca, je ne sais pas du tout comment faire ...
Mon autre contrainte est que je souhaite lorsque erreur il y a, ouvrir le fichier à sa fin.
 
Est-ce qu'une âme charitable peut me venir en aide ?
 

Code :
  1. @echo off
  2. set fichier = fichier.log
  3. find "erreur transmission fichier" C:\Scripts\GL %fichier%
  4. if ERRORLEVEL 0 goto erreur_trans
  5. if ERRORLEVEL 1 goto suite
  6. :suite
  7. find "erreur reception fichier" C:\Scripts\GL %fichier%
  8. if ERRORLEVEL 0 goto erreur_recep
  9. if ERRORLEVEL 1 goto bilan
  10. :erreur_trans
  11. echo Attention : erreur de transmision
  12. C:/Scripts/GL/log_ftp_production.log
  13. :erreur_recep
  14. echo Attention : erreur d'emission
  15. C:/Scripts/GL/log_ftp_production.log
  16. :bilan
  17. echo Aucune erreur detectee
  18. echo Fin du traitement
  19. pause
  20. goto fin
  21. :fin


 
Marchi beaucoup :)
Charly

Reply

Marsh Posté le 19-07-2005 à 17:02:53   

Reply

Marsh Posté le 19-07-2005 à 17:11:22    

Bonjour,
 
Le problème de date a été traité de nombreuses fois sur le forum. Une petite recherche et tu trouveras tout ce qu'il faut.
 
Sinon,  pour la commande SET, évite les espaces autour du = : tu aurais de mauvaises surprises sinon.
 
set i=1 --> i="1"
set i= 1 --> i=" 1"
alors dans ton cas, fichier=" fichier.log" aïe ! :) (à moins que ce soit fait exprès, dans ce cas je n'ai rien dit :lol: )

Reply

Marsh Posté le 19-07-2005 à 17:13:59    

wackevat a écrit :

Bonjour,
 
Le problème de date a été traité de nombreuses fois sur le forum. Une petite recherche et tu trouveras tout ce qu'il faut.
 
Sinon,  pour la commande SET, évite les espaces autour du = : tu aurais de mauvaises surprises sinon.
 
set i=1 --> i="1"
set i= 1 --> i=" 1"
alors dans ton cas, fichier=" fichier.log" aïe ! :) (à moins que ce soit fait exprès, dans ce cas je n'ai rien dit :lol: )


 
Merci pour le tip' pour les espaces ; fichier.log, c'est fait expres lol, j'aurais pu mettre bidule.log à la place !
En ce qui concerne la recherche pour la date je vais m'orienter vers une tite recherche alors !
Merci d'avoir répondu :)

Reply

Marsh Posté le 19-07-2005 à 17:22:24    

Mais non, je ne parlais pas du nom fichier.log mais de l'espace devant lui, c'était exprès aussi ? :)


Message édité par wackevat le 19-07-2005 à 17:22:55
Reply

Marsh Posté le 21-07-2005 à 10:53:58    

chour a écrit :

Bonjour,
 
Voila je suis en train de créer un batch qui me permet de faire une recherche d'une chaine de caractères dans un fichier texte.
Cependant, j'ai quelques contraintes : je dois lire le fichier à partir de la date du jour qui est sous la forme aaaammjj-hh:mm:ss . Et ca, je ne sais pas du tout comment faire ...
Mon autre contrainte est que je souhaite lorsque erreur il y a, ouvrir le fichier à sa fin.
 
Est-ce qu'une âme charitable peut me venir en aide ?
...


 
Je te conseille plutot d'utiliser un outil style awk ou nawk... C'est super pratique pour la gestion de fichier texte. Et puis tu peux l'appeler de ton script... :)


---------------
http://pakman.over-blog.com
Reply

Sujets relatifs:

Leave a Replay

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