Page 1 sur 1

extraire info d'un txt mais uniquement 5 lignes

Posté : 16 juil. 2008 21:42
par Laddy
j'ai un log contenant ses informations : SR-RP.LOG
Processing Mount Point [C:\]
DirectoryName=RP1, Size=0, Type=11[FIRSTRUN], RestorePointName=Point de vérification système, RestorePointStatus=[VALID], Number=1l, Date=Monday July 14, 2008 12:48:3
DirectoryName=RP2, Size=0, Type=0[APPLICATION_INSTALL], RestorePointName=ComboFix created restore point, RestorePointStatus=[VALID], Number=2l, Date=Monday July 14, 2008 12:48:49
DirectoryName=RP3, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=3l, Date=Tuesday July 15, 2008 7:27:23
DirectoryName=RP4, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=4l, Date=Tuesday July 15, 2008 7:43:17
DirectoryName=RP5, Size=0, Type=0[APPLICATION_INSTALL], RestorePointName=Installed Vbsedit, RestorePointStatus=[VALID], Number=5l, Date=Tuesday July 15, 2008 10:5:23
DirectoryName=RP6, Size=0, Type=1[APPLICATION_UNINSTALL], RestorePointName=Revo Uninstaller's restore point - Vbsedit, RestorePointStatus=[VALID], Number=6l, Date=Tuesday July 15, 2008 10:7:23
DirectoryName=RP7, Size=0, Type=1[APPLICATION_UNINSTALL], RestorePointName=Removed Vbsedit, RestorePointStatus=[VALID], Number=7l, Date=Tuesday July 15, 2008 10:7:35
DirectoryName=RP8, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=8l, Date=Tuesday July 15, 2008 11:31:33
DirectoryName=RP9, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=9l, Date=Tuesday July 15, 2008 11:34:31
DirectoryName=RP10, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=10l, Date=Tuesday July 15, 2008 11:38:45
DirectoryName=RP11, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=11l, Date=Tuesday July 15, 2008 11:46:1
DirectoryName=RP12, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=12l, Date=Tuesday July 15, 2008 11:49:0
DirectoryName=RP13, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=13l, Date=Tuesday July 15, 2008 11:50:5
DirectoryName=RP14, Size=0, Type=10[DEVICE_DRIVER_CHANGE], RestorePointName=Scripted restore, RestorePointStatus=[VALID], Number=14l, Date=Tuesday July 15, 2008 11:50:53
DirectoryName=RP15, Size=0, Type=0[APPLICATION_INSTALL], RestorePointName=ComboFix created restore point, RestorePointStatus=[VALID], Number=15l, Date=Wednesday July 16, 2008 5:7:8
J'aimerai extraire une partie de ses informations sous une autre forme :
extraire les 5 derniers points de restauration par rapport à la date
extraire le nom du point de restauration Combofix created restore point et sa date et heure.

puis que le tout soit stocké dans un txt sous la forme :

Code : Tout sélectionner

---5 Derniers points de restaurations------
date/heure  nom du point de restauration
cêst à dire comme ceci : 
2008-07-13 14:00:00 Removed Vbsedit
2008-07-14 15:02:57 ComboFix created restore point
j'ai du mal avec la boucle for je pense qu'il faut l'utiliser et aller chercher des infos mais je ne vois pas comment c'est un peu compliqué pour moi.

si tu ne vois pas dis le moi ou comprend pas

merci d'avance

edit :
j'ai trouvé ceci :

Code : Tout sélectionner

 @echo off
cls
for /f "tokens=4" %%i in ('find  "RestorePointName" SR-RP.txt') do set RestorePointName=%%i
for /f "tokens=7" %%j in ('find  "date" SR-RP.txt') do set Date=%%j
echo %date% %RestorePointName% pause
le problème est qu'il ne trouve que la derniere ligne j'aimerai qu'il prenne en compte uniquement le C: et les 5 dernieres lignes.

Re: extraire info d'un txt mais uniquement 5 lignes

Posté : 17 juil. 2008 19:40
par flox
Bonjour,

pour la sélection des 5 dernière ligne j'ai envie de t'orienter vers rktools, ce kit integre l'outil tail.exe bien connu dans le monde UNIX.

Ainsi cette commande te permettra de garder uniquement les 5 dernières lignes:

Code : Tout sélectionner

tail -6 SR-RP.LOG.log

J'espère t'avoir aider

@+

Re: extraire info d'un txt mais uniquement 5 lignes

Posté : 18 juil. 2008 09:29
par Laddy
Oui tu m'as aidé mais
comment je peux l'inclure dans le for car là si je le met en haut il garde que 5 lignes mais ne garde pas les champs que je souhaite...

si je le met dans un fichier temporaire il me met la meme chose je me retrouve avec une seule ligne :|

Re: extraire info d'un txt mais uniquement 5 lignes

Posté : 22 juil. 2008 21:48
par flox
Re,
tu peut essayer de faire le traitement en amont, tu génère un fichier contenant tes 5 lignes extraite de ton fichier initiale, ensuite tu peut utiliser le fichier produit, dans ta boucle for.


@+