extraire info d'un txt mais uniquement 5 lignes

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

extraire info d'un txt mais uniquement 5 lignes

Message 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.
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Avatar du membre
flox
Administrateur du site
Messages : 158
Enregistré le : 18 janv. 2008 22:05

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

Message 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

@+
Laddy
SuperBatcher
Messages : 190
Enregistré le : 04 juil. 2008 13:40

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

Message 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 :|
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Avatar du membre
flox
Administrateur du site
Messages : 158
Enregistré le : 18 janv. 2008 22:05

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

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


@+
Répondre