[BATCH] Lire une certaine partie d'un fichier texte

Lire une certaine partie d'un fichier texte [BATCH] - Shell/Batch - Programmation

Marsh Posté le 28-03-2012 à 22:31:05    

Bonjour,
 
J'aurais besoin de votre aide pour un script en batch un peu (beaucoup) plus compliqué que ce que j'ai l'habitude de faire !
 
Je vous explique le contexte : j'ai un serveur DHCP sous W2003E, qui produit des logs dans C:\Windows\system32\dhcp
Les logs sont de type DhcpSrvLog-Xxx.log, où Xxx équivaut au jour, par exemple Lun pour lundi, Mar pour mercredi,...
 
(1) Il me faut donc dans un premier déterminer la date du jour précédent, pour aller vérifier dans le fichier de log de la veille. Je sais obtenir la date d'aujourd'hui, mais pas celle de la veille, je suppose que c'est possible, mais comment ?
 
(2) Ensuite, je dois ouvrir ce fichier et commencer à lire à partir d'une certaine ligne (la 30ème il me semble). Je sais ouvrir le fichier, mais pas à partir d'une certaine ligne...
 
(3) Puis, je voudrais savoir si, pour chaque ligne, c'est possible d'extraire chaque "partie" de celle-ci, à partir du moment où on connait un délimiteur ? Ici, par exemple :
01;28/03/2012;Démarré
-> Les éléments sont séparés par ";", et je souhaite récupérer essentiellement le premier paramètre, qui correspond à un ID d’évènement.
 
Tout cela est trop pour moi et me paraît bien compliqué !
 
Si vous pouvez m'aider, je vous en serez très reconnaissant  
 
Merci d'avance.

Reply

Marsh Posté le 28-03-2012 à 22:31:05   

Reply

Marsh Posté le 08-04-2012 à 20:48:49    

(1) => manipulation de date (même simpliste) oublie le batch => vbs (ou powershell)
 
(2) faisable mais galère => faut lire ligne par ligne en incrémentant une variable et s'arreter lorsqu'elle atteint 30.
nb : again plus facile en vbs
 
(3) boucle for avec token=; ou un split en vbs
 
bon courage


---------------
Quand on aime on ne compte pas. Quel Dilemme lorsque l'on aime compter !
Reply

Marsh Posté le 08-04-2012 à 20:51:05    

Merci beaucoup pour tes indications !
 
Je vais me pencher sur le VBS alors... :)

Reply

Marsh Posté le 08-04-2012 à 22:19:13    

Pour ce genre de manip, il y a pas mieux que Perl.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-04-2012 à 22:23:43    

Alors autant VBS je pense pouvoir me débrouiller puisqu'on en fait en cours, autant Perl m'est complètement inconnu ^^
 
Comme c'est pour bientôt que j'en ai besoin en plus, je n'ai pas le temps de me plonger dans l'apprentissage de ce langage, mais merci beaucoup pour le conseil en tout cas :)

Reply

Sujets relatifs:

Leave a Replay

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