Wort in Textdatei suchen
Ich wollte ein einzelnes Wort aus einer Textdatei suchen und als Variable speichern. Allerdings ist das Wort nicht das einzige in der Datei und steht auch nicht am Anfang der Datei, sondern in der letzten Zeile.
Kann man dies als Bat-Datei verwirklichen ??
Danke schonmal für die Antworten !!
Kann man dies als Bat-Datei verwirklichen ??
Danke schonmal für die Antworten !!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 269573
Url: https://administrator.de/contentid/269573
Ausgedruckt am: 25.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Nick.B
Es gibt verschiedene Möglichkeiten. Z.B.:
Somit hättest du die letzte Zeile. Was du nun noch dort suchen willst oder wie daraus ein einzelnes Wort zu extrahieren wäre ist pure Spekulation, solange man den Aufbau dieser Zeile nicht kennt.
Grüße
rubberman
Es gibt verschiedene Möglichkeiten. Z.B.:
@echo off &setlocal
set "txtfile=test.txt"
<"%txtfile%" (
set "line="
for /f %%i in ('type "%txtfile%"^|find /c /v ""') do for /l %%j in (2 1 %%i) do set /p "="
set /p "line="
)
echo "%line%"
pause
Grüße
rubberman
Hallo Nick,
wenn du bei o.g. Code noch
anhängst, hast du das 3. Wort in Variable
Du kannst auch gleich mit einer FOR /F Schleife arbeiten.
Variante 1 ist mehr Code, dafür bei sehr großen Dateien schneller. Variante 2 ist im Gegensatz nur ein Einzeiler, die FOR /F Schleife puffert aber zunächst den gesamten Dateiinhalt, was nur bei kleinen Dateien keinen merklichen Performanceverlust darstellt.
Grüße
rubberman
wenn du bei o.g. Code noch
for /f "tokens=3" %%i in ("%line%") do set "word=%%i"
word
.Du kannst auch gleich mit einer FOR /F Schleife arbeiten.
for /f "usebackq tokens=3" %%i in ("test.txt") do set "word=%%i"
Variante 1 ist mehr Code, dafür bei sehr großen Dateien schneller. Variante 2 ist im Gegensatz nur ein Einzeiler, die FOR /F Schleife puffert aber zunächst den gesamten Dateiinhalt, was nur bei kleinen Dateien keinen merklichen Performanceverlust darstellt.
Grüße
rubberman