benni82

Bestimmten Inhalt in einer Datei finden per batch

Hallo zusammen,

ich hoffe auf eure kompetente Hilfe. Mehrfach stosse ich auf dieses Forum, wenn ich über diverse Suchmaschinen etwas zum Thema batch suche.

Folgender Sachverhalt:

In der Datei inhalt.ini stehen einige Zeilen Inhalte. Unter anderem gibt es eine Zeile die etwa so lautet:

Stationname=ASR9988771

bzw.

Stationname=ASR9988771A

Nun zu meinem Problem: Ich müsste per batch die datei einlesen und diese bestimmte Zeile finden. Der Teil bis zur Nummer ist immer gleich (also Stationname=ASR), die 7-stellige Zahl am Ende kann varieren. Teilweise kann am Ende auch noch ein einziger Buchstabe angehängt sein.

Gibt es eine Möglichkeit, diese Zahl in eine Variable einzulesen, um diese weiter zu verarbeiten? Ich denke, es funktioniert irgendwie mit dem find befehl, aber soviel ich mir darüber auch erlesen habe, diesen verstehe ich leider nicht face-sad

Vielleicht weiß einer von euch einen Rat.

Vielen Dank im vorraus!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 161621

Url: https://administrator.de/forum/bestimmten-inhalt-in-einer-datei-finden-per-batch-161621.html

Ausgedruckt am: 12.05.2025 um 06:05 Uhr

pieh-ejdsch
pieh-ejdsch 26.02.2011 um 03:21:31 Uhr
Goto Top
moin Benni82,

so spät noch unterwegs?

for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=" %%i in ('findstr /b /c:"Stationname=ASR" "D:\Inhalt.ini"') do call :machwas %%i  
goto :eof
:machwas
echo %1
goto :eof

Gruß Phil
Benni82
Benni82 26.02.2011 um 07:49:03 Uhr
Goto Top
Hi Phil,


super, vielen dank, dass ist schon mal eine große Hilfe.
Ja, wenn man irgendwie an einer batch sitzt und probiert vergisst man manchmal die Zeit :D

Zur Lösung: Also das funktioniert schonmal sehr gut. Nur ich bräuchte das vielleicht so, dass ich alles in der Zeile nach dem ASR in eine variable bekomme, sprich wenn da auch steht Stationname=ASR9988771A, dass dann auch 9988771A ausgegeben wird, nicht nur die zahl.

Vielleicht weißt du da ja auch eine Lösung. aber vielen Dank bis hierhin schonmal!!! face-smile
bastla
bastla 26.02.2011 um 08:51:22 Uhr
Goto Top
Hallo Benni82!

Dann eben zB so:
for /f "tokens=1* delims==" %%i in ('findstr /b /c:"Stationname=ASR" "D:\Inhalt.ini"') do set "Station=%%j" & call :machwas  
goto :eof

:machwas
set "Name=%Station:*ASR=%"  
echo %Name%
goto :eof
Falls "ASR" variabel wäre:
set "Kennung=ASR"  
for /f "tokens=1* delims==" %%i in ('findstr /b /c:"Stationname=%Kennung%" "D:\Inhalt.ini"') do set "Station=%%j" & call :machwas  
goto :eof

:machwas
call set "Name=%%Station:*%Kennung%=%%"  
echo %Name%
goto :eof

Grüße
bastla

P.S.:
Mehrfach stosse ich auf dieses Forum, wenn ich über diverse Suchmaschinen etwas zum Thema batch suche.
... und das schon lange face-wink:
Mitglied seit: 17.04.2006
So gesehen: Willkommen zurück! face-smile