[BAT] Generar txt registro simplificado

Iniciado por thexmachine, 25 Abril 2017, 19:52 PM

0 Miembros y 1 Visitante están viendo este tema.

thexmachine

Hola amigos,
Tengo el siguiente archivo de registro (log-web):

2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     GET http://www.msftncsi.com/ncsi.txt HTTP/1.1
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     User-Agent: Microsoft NCSI
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     Host: www.msftncsi.com
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     X-Proxy-ID: 1806486836
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     X-Forwarded-For: 192.168.13.221
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:     Via: 1.1 192.168.0.1 (Mikrotik HttpProxy)
2017.04.24-16:52:42 <10.10.10.1>: web-proxy,debug logaccount:


Debe ser configurado de forma txt (newlog.txt):
GET http://www.msftncsi.com/ncsi.txt
192.168.13.221
2017.04.24-16:52:42

Pero (newlog.txt):
GET http://www.msftncsi.com/ncsi.txt  192.168.13.221 2017.04.24-16:52:42

Traté de hacer algo
Código (bash) [Seleccionar]
  @Echo OFF & SetLocal EnableDelayedExpansion & Title by Elektro
   
    Set /A "flag=0"
   
    For /F "UseBackQ Tokens=* Delims=" %%a In (
        "C:\Documents and Settings\Unifi\Desktop\Syslog25042017.txt"
    ) Do (
        (Echo "%%a" >>teste5.txt | Find.exe /I "logaccount:     GET")1>Nul && (Set /A "flag=0")
        (Echo "%%a" >>teste5.txt | Find.exe /I "logaccount:     Host:")1>Nul && (Set /A "flag=1")
        (Echo "%%a" >>teste5.txt | Find.exe /I "logaccount:     X-Forwarded-For:")1>Nul && (Set /A "flag=2")
   
        If !flag! EQU 0 (Url: %%a)
        If !flag! EQU 1 (Host  : %%a)
        If !flag! EQU 2 (IP     : %%a)
   
    )
   
    Pause&Exit /B 0


¿Alguien me ayuda?
Gracias por todo  ;D