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!
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!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2238635232
Url: https://administrator.de/contentid/2238635232
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
Nimm gleich die Powershell damit ist das ein Einzeiler und vor allem deutlich schneller
Select-String "D:\Artikel\*.txt" -Pattern "[^\s]*$([regex]::escape((Read-Host "Suchstring eingeben")))[^\s]*" -AllMatches | select Filename,LineNumber,@{n='Inhalt';e={$_.Matches.Value -join ","}}
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 interpretierenWas 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?
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