Text mit Batch Datei durchsuchen und ausgeben
Hallo,
ich bin blutiger Anfänger wenn es um batch Dateien geht, kann mir bitte jemand bei folgendem Problem helfen?
Habe eine Textdatei mit folgenden Inhalt:
Hammer Schublade 1
Zange Schublade 2
Säge Schublade 3
...
jetzt möchte ich mit einer Batch Datei folgende erreichen:
"Bitte Suchwort eingeben...
Zange
Zange befindet sich in Schublade 2
Bitte Suchwort eingeben....
lalala
konnte leider nicht gefunden werden"
sollte nicht allzu schwer sein, kenn mich aber einfach zu wenig aus.
Lassen sich auch Wörter mit Sonderzeichen abrufen?
Vielen Dank wenn mir jemand helfen kann
ich bin blutiger Anfänger wenn es um batch Dateien geht, kann mir bitte jemand bei folgendem Problem helfen?
Habe eine Textdatei mit folgenden Inhalt:
Hammer Schublade 1
Zange Schublade 2
Säge Schublade 3
...
jetzt möchte ich mit einer Batch Datei folgende erreichen:
"Bitte Suchwort eingeben...
Zange
Zange befindet sich in Schublade 2
Bitte Suchwort eingeben....
lalala
konnte leider nicht gefunden werden"
sollte nicht allzu schwer sein, kenn mich aber einfach zu wenig aus.
Lassen sich auch Wörter mit Sonderzeichen abrufen?
Vielen Dank wenn mir jemand helfen kann
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 481977
Url: https://administrator.de/forum/text-mit-batch-datei-durchsuchen-und-ausgeben-481977.html
Ausgedruckt am: 13.05.2025 um 14:05 Uhr
3 Kommentare
Neuester Kommentar
Moin,
in der Powershell ein Einzeiler:
Vorausgesetzt, dass die Werkzeuge und Orte keine weiteren Leertasten enthalten. Sonst die Ausgangsdatei ein wenig ändern.
und dann entsprechend in der Befehlszeile
Und ja, es geht der gesamte Zeichensatz als Suchwort.
hth
Erik
in der Powershell ein Einzeiler:
import-csv .\werkzeug.txt -delimiter " " -header "Werkzeug", "Ort", "Nummer" | ?{$_.Werkzeug -eq "Hammer"}
Vorausgesetzt, dass die Werkzeuge und Orte keine weiteren Leertasten enthalten. Sonst die Ausgangsdatei ein wenig ändern.
Hammer;Schublade;1
Zange;Schublade;2
Säge;Schublade;3
und dann entsprechend in der Befehlszeile
import-csv .\werkzeug.txt -delimiter ";" -header "Werkzeug", "Ort", "Nummer" | ?{$_.Werkzeug -eq "Hammer"}
Und ja, es geht der gesamte Zeichensatz als Suchwort.
hth
Erik
sehr gut - dann vergiss dass. Veraltet.
Powershell:
Der Code ließe sich massiv kürzen - ist so aber verständlicher beim "selber verstehen"
Powershell:
$Schrank=Import-Csv -Path "C:\temp\Schrank.csv" -Delimiter " " -Header "Werkzeug","Fach","Nr"
While ($true) {
$Search=Read-Host -Prompt "Bitte Suchwort eingeben..."
If ($Search -in $Schrank.Werkzeug){
$Ergebnis=$Schrank | Where-Object -Property "Werkzeug" -eq $Search
Write-Host ($Search+" befindet sich in "+$Ergebnis.Fach+" "+$Ergebnis.Nr)
} else {
Write-Host "konnte leider nicht gefunden werden"
}
}
Der Code ließe sich massiv kürzen - ist so aber verständlicher beim "selber verstehen"

Um die Frage trotzdem der Vollständigkeit halber auch noch in Batch zu beantworten
@echo off &setlocal
set "file=D:\testdaten.txt"
set /p "search=Bitte Suchbegriff eingeben: "
for /f "tokens=1,*" %%a in ('findstr /iblc:"%search%" "%file%" 2^>nul') DO set "result=%%b"
if defined result (
echo '%search%' befindet sich in '%result%'.
) else (
echo Suchwort nicht gefunden.
)