FINDSTR Problem!
Hallo,
ich habe eine Text-Datei, die so aussieht:
abcd123.f
abce123.f
abcf123.f
abcg123.f
Ich brauche von dieser Datei nur die Nummer (123 in diesem Fall und nur 1x). Das Ergebniss sollte in eine Variable gespeichert werden.
Ich habe mit findstr versucht aber ohne Erfolg.
Hat jemand eine Lösung?
Danke im Voraus.
ich habe eine Text-Datei, die so aussieht:
abcd123.f
abce123.f
abcf123.f
abcg123.f
Ich brauche von dieser Datei nur die Nummer (123 in diesem Fall und nur 1x). Das Ergebniss sollte in eine Variable gespeichert werden.
Ich habe mit findstr versucht aber ohne Erfolg.
Hat jemand eine Lösung?
Danke im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64427
Url: https://administrator.de/forum/findstr-problem-64427.html
Ausgedruckt am: 19.05.2025 um 10:05 Uhr
3 Kommentare
Neuester Kommentar
Guten Abend simon78,
herzlich Willkommen hier im Forum!
Hab da noch ein Fragen an dich, die mir auf der Zunge brennen:
Grüße
Dani
herzlich Willkommen hier im Forum!
Hab da noch ein Fragen an dich, die mir auf der Zunge brennen:
- Diese 4 Zeilen stehen in der Datei X oder sind das 4 extra Dateien in einem Ordner?
- Stehen immer 4 Buchstaben vor den Zahlen?
- Bleibt es bei dem 3 Ziffern?
- Kommt nach den Zahlen nur noch .f?
Grüße
Dani
Hallo simon78!
Falls die Antwort auf Dani's erste Frage "alle .txt-Dateien aus D:\Verzeichnis" und auf die Fragen 2-4 jeweils "ja" lautet, sollte es etwa so gehen:
Wenn nur eine Datei bearbeitet werden soll, könntest Du den Teil nach :ProcessFile als eigene Batchdatei verwenden und ihr beim Aufruf die Datei mitgeben, also etwa:
oder %1 und %~1 durch eine Variable/einen Dateinamen ersetzen.
Wunschgemäß wird nur die Zahl aus der allerersten passenden Zeile verwendet.
Grüße
bastla
[Edit] Zweite "for"-Zeile ("findstr") ergänzt/korrigiert [/Edit]
Falls die Antwort auf Dani's erste Frage "alle .txt-Dateien aus D:\Verzeichnis" und auf die Fragen 2-4 jeweils "ja" lautet, sollte es etwa so gehen:
@echo off & setlocal
for %%f in (D:\Verzeichnis\*.txt) do call :ProcessFile "%%f"
goto :eof
:ProcessFile
set Zahl=
for /f "delims=." %%i in ('findstr /c:".f" %1') do if not defined Zahl set Zahl=%%i
set Zahl=%Zahl:~-3%
echo %Zahl% aus %~1
::alle weiteren Aktionen für diese Datei hier
::
::
goto :eof
SucheZahl.bat D:\Verzeichnis\Datei.txt
Wunschgemäß wird nur die Zahl aus der allerersten passenden Zeile verwendet.
Grüße
bastla
[Edit] Zweite "for"-Zeile ("findstr") ergänzt/korrigiert [/Edit]