[Visual Basic] Textdateien durchsuchen

...komplette Frage anzeigen

2 Antworten

Wenn alle Dateien im gleichen Ordner liegen kannst du es so machen:

For each xFile As String In IO.Directory.GetFiles("C:\\\\Dateien\\\\")  
  Dim Reader As New StreamReader(xFile)
  Do
    If Reader.ReadLine.Contains("Hallo") Then
      'Ist entahlten
      Exit Do
    End If
  Loop Until Reader.EndOfStream = True
Next

Ist aber nicht getestet...

Antwort bewerten Vielen Dank für Deine Bewertung
mango123 27.03.2013, 08:14

Danke :)

jedoch scheint Visual Basic 2012 StreamReader nicht zu kennen.

0
mango123 27.03.2013, 08:18
@mango123

hab den Import vergessen :facepalm: einfach ganz oben

Imports System.IO

hinschreiben.

0

du kommst halt nicht über die methode, dateiliste aufstellen, datei öffnen, inhalt durchsuchen, datei schliessen, nächste datei-Methode drumherum..

Antwort bewerten Vielen Dank für Deine Bewertung
mango123 26.03.2013, 16:29

stimmt!

nur müsste es auch mit einer Loop Funktion gehen, damit ich nicht alle 260 Files einzeln aufzählen muss. Nur wie geht das ;)

Hab schonmal was versucht:

Do Until zaehlar <= 260
        zYan = zaehlar + ".zYan"
        Dim sr1 As New System.IO.FileStream(My.Settings.S4League_loc + "/x7/" + zYan, IO.FileMode.Open, IO.FileAccess.Read)
        Dim reader1 As New System.IO.StreamReader(sr1)
        Do Until reader1.EndOfStream
            Dim line As String = reader1.ReadToEnd
            If line.Contains(TextBox1.Text) = True Then
                MsgBox(zYan)
            End If
        Loop
        zaehlar = zaehlar + 1
    Loop
0
iEdik 27.03.2013, 10:02
@mango123

du musst alle 260 files vorher aufzählen, damit du die anzahl der schleifen ermitteln kannst :) und ausserdem, du brauchst ja zum öffnen der dateien die namen, wen ndie sich auch ändern hast den vorteil dass sich der code den dateien (namen und die anzahl) anpasst

0

Was möchtest Du wissen?