intento hacer un VBScript que leer un txt y la búsqueda de dos cadenas y da sólo los últimos resultados.

Cadena 1: Hello123

Cadena 2: Test123

El TXT se parece a esto:

27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... BlaBlaBla ... 
27.07.2010 09:45 ... Hello123 ... 
27.07.2010 09:45 ... BlaBlaBla ... 
27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... Hello123 ...   'This Result
27.07.2010 09:45 ... BlaBlaBla ... 
27.07.2010 09:45 ... BlaBlaBla ... 
27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... Test123 ... 
27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... Test123 ...        'And this Result
27.07.2010 09:45 ... DumDumDum ... 
27.07.2010 09:45 ... BlaBlaBla ... 

Yo intente algo como esto, pero no sé cómo hacerlo:

Leer el txt con ReadALL creo y de la búsqueda de parte.

if string 1 not found then
    msgbox "nothing found"
    Goto NEXT
else
    if string 2 not found then
        msgbox "nothing found"
    else
        msgbox "found"

    End if
End if
NEXT

Hay alguien que tiene una idea y me puede ayudar?

Saludos,
matías

InformationsquelleAutor Sebastian | 2010-07-27

1 Comentario

  1. 2

    si no es parte de un gran programa de vbscript y usted tiene el lujo de descargar cosas, puede utilizar un archivo de procesamiento de la herramienta, tales como gawk para windows por ejemplo, un revestimiento

    C:\test> gawk "/Hallo123/{h=$0}/Test123/{t=$0}END{print h \"\n\" t}" file
    27.07.2010 09:45 ... Hallo123 ...   'This Result
    27.07.2010 09:45 ... Test123 ...        'And this Result

    Con vbscript, uso instr() para comprobar cada una de las cuerdas «Hallo123» y «Test123», entonces, si se encuentra, asignar una variable a esa línea. En el final del archivo iteración, imprimir esas 2 variables.

    ejemplo la búsqueda para «Hola»

    Set objFS = CreateObject("Scripting.FileSystemObject")
    'File to scan
    strFile = "c:\test\file.txt"
    'Pattern to search for, eg Hallo
    strPattern = "Hallo"
    Set objFile = objFS.OpenTextFile(strFile)
    Do Until objFile.AtEndOfStream
        strLine = objFile.ReadLine  
        If InStr(strLine,strPattern)>0 Then
            WScript.Echo strLine
                    H=strLine
        End If  
    Loop
    Wscript.Echo H 
    • gracias por que, pero lo tendré en vbscript :-), porque su sólo una parte de un gran guión
    • ¿me puedes mostrar esto con un script?
    • ok gracias por el ejemplo, pero mi problema es ¿cómo puedo buscar una segunda cadena después de la última fundada cadena 1? que estoy feliz 😀
    • Hacer otro Instr(), se puede asignar a otra variable. Por favor, trate de hacerlo usted mismo esta vez. descargar una copia de script56.chm en microsoft.com/downloads/… y leer.
    • gracias por el enlace, voy a leerlo…gracias…creo que solo tengo que hacer una segunda instr() después de la primera, con la segunda cadena. thats a la derecha?
    • sí. que el derecho de la
    • gracias, me habéis ayudado un montón 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here