simon78
Goto Top

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.

Content-Key: 64427

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

Printed on: April 19, 2024 at 07:04 o'clock

Member: Dani
Dani Jul 22, 2007 at 20:47:46 (UTC)
Goto Top
Guten Abend simon78,
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
Member: bastla
bastla Jul 23, 2007 at 06:35:32 (UTC)
Goto Top
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:
@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
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:
SucheZahl.bat D:\Verzeichnis\Datei.txt
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]
Member: simon78
simon78 Jul 23, 2007 at 18:14:56 (UTC)
Goto Top
Hallo bastla,

vielen Dank....hat geklappt!!!


Grüße
simon78