naninana
Goto Top

In einem Ordner txt-Dateien nach bestimmten Inhalten absuchen

Hallo,

ich habe das Forum schon nach meinem Problem abgesucht, aber noch nicht ganz die richtige Lösung gefunden.

Ich habe in einem Ordner mehrere .txt-Dateien deren Bezeichnung jeweils eine Arikelnummer beinhaltet Bsp "tkmIM4000016" oder "tkmNA1919007". Die Textdateiinhalte variieren inhaltlich.
Nun möchte ich ein Makro in Excel erstellen. Ziel ist es in den Textdateien nach einem bestimmten Wort zu suchen und den Inhalt der Textdatei zusammen mit der Dateibezeichnung untereinander aufzulisten.
Ein Beispiel: Ich suche das Wort "elox". Nun soll in dem Ordner "C:\Daten alle Textdateien nach diesem Wort abgesucht werden und in Excel aufgelistet werden. Hierbei sollen alle Wörter gefunden werden wie beispielsweise eloxal, eloxieren, eloxiert.... (also sowas wie "*elox*")

AUsgabe in einem Excel-Datenblatt in diser Form:

Spalte 1 = Dateibezeichnung
Spalte 2 = Inhalt der Textdatei

untereinander in Zeilen die Ergebnisse der Suche aufgelistet

Beispiel

Spalte 1 = tkmIM1000016
Spalte 2 = Eloxiert: schwarz

Vielen Dank für Eure Hilfe!

Content-ID: 2238635232

Url: https://administrator.de/contentid/2238635232

Ausgedruckt am: 24.11.2024 um 02:11 Uhr

1915348599
1915348599 21.03.2022 aktualisiert um 14:31:09 Uhr
Goto Top
Nimm gleich die Powershell damit ist das ein Einzeiler und vor allem deutlich schneller face-wink
Select-String "D:\Artikel\*.txt" -Pattern "[^\s]*$([regex]::escape((Read-Host "Suchstring eingeben")))[^\s]*" -AllMatches | select Filename,LineNumber,@{n='Inhalt';e={$_.Matches.Value -join ","}}  
naninana
naninana 22.03.2022 um 11:21:38 Uhr
Goto Top
Hallo Pretty,

super, vielen Dank. Ich kannte Powershell noch nicht, aber ich hab's geschafft. Das ist jetzt schon mal etwas mit dem ich arbeiten könnte. Was ich zudem noch als Ergebnis wollte war, dass mir der gesamte Inhalt der .txt-Datei angezeigt wird. Ich suche nämlich auch nach Texten wie blau, schwarz oder rot. In der txt. Datei kann stehen Eloxieren rot, Elox rot, rot eloxieren, eloxal rot, etc. ....

Verstehst du was ich meine?

Aber herzlichen Dank schon mal.

Viele Grüße
1915348599
1915348599 22.03.2022 aktualisiert um 12:55:43 Uhr
Goto Top
Zitat von @naninana:

Was ich zudem noch als Ergebnis wollte war, dass mir der gesamte Inhalt der .txt-Datei angezeigt wird. Ich suche nämlich auch nach Texten wie blau, schwarz oder rot. In der txt. Datei kann stehen Eloxieren rot, Elox rot, rot eloxieren, eloxal rot, etc. ....

Verstehst du was ich meine?
Ich versuch es mal zu interpretieren
Select-String "D:\Artikel\*.txt" -Pattern "[^\s]*$([regex]::escape((Read-Host "Suchstring eingeben")))[^\s]*" | select Filename,@{n='Inhalt';e={Get-Content $_.Path -raw}} | ft -AutoSize -Wrap  
naninana
naninana 24.03.2022 um 20:08:14 Uhr
Goto Top
Hallo Pretty,

Entschuldige, dass ich mich jetzt erst melde. Ich musste einen Kollegen vertreten und war Land unter.
Ganz herzlichen Dank für Deine Hilfe, jetzt erhalte ich das Ergebnis das ich brauche face-smile))

Vielen Dank.