Hallo little-key,
das Problem ist recht einfach zu lösen.
Hier nochmal Deine ini-Datei:
[EXPORT]
exportfolfer1=c:\export1
exportfolfer2=c:\export2
exportfolfer3=c:\export3
exportfolfer4=c:\export3
exportfolfer5=c:\export5
exportfolfer6=
exportfolfer7=
exportfolfer8=
[IMPORT]
Das folgende kleine Batch-Programm sucht in Deiner ini-Datei nach dem Wert der Variable "suchzeichenfolge".
Wird diese Zeichenfolge gefunden, wird der in der jeweiligen Zeile Deiner ini-Datei enthaltene Pfad angezeigt; an dieser Stelle könnte sich eine weitere Verarbeitung anschließen.
Wie funktioniert das?
FINDSTR /c:"%suchzeichenfolge%" "%ini_datei%"
im Inneren der FOR-Schleife durchsucht die Datei
"ini_datei" nach der Zeichenfolge
"suchzeichenfolge"; mit der Option "/c:" wird genau nach der Schreibweise gesucht, die in der Zeile
SET "suchzeichenfolge=exportfolfer"
angegeben wurde. Wenn die Groß- /Kleinschreibung ignoriert werden soll, muß die Zeile im Inneren der FOR-Schleife in
FINDSTR /i /c:"%suchzeichenfolge%" "%ini_datei%"
geändert werden.
Mit
"delims==" wird das Zeichen "=" als Trennzeichen zwischen beiden Token definiert
"tokens=2" zerlegt Dir die Ausgabe; hier wird nur der zweite Teil der gefundenen Zeile benötigt; mit der Ziffer "2" wird NUR der zweite Token ausgegeben
%%a ist
hier der zweite Token, also diejenige Zeichenfolge, die nach dem mit "delims" definierten Trennzeichen steht
Hier das Programm zum Ausprobieren:
@ECHO off
SETLOCAL enabledelayedexpansion
REM
https://supportnet.de/t/2387198
REM
REM (c) batti-batch 10/2011
REM
REM getestet unter Windows XP
REM
SET "ini_datei=c:\temp\ini_datei.ini"
SET "suchzeichenfolge=exportfolfer"
FOR /f "tokens=2 delims==" %%a IN ('FINDSTR /c:"%suchzeichenfolge%" "%ini_datei%"') DO (
SET "exportfolder=%%a"
ECHO Die Variable "exportfolder" hat folgenden Wert: !exportfolder!
REM Hier koennte sich dann
REM die weitere Verarbeitung anschliessen
)
Viel Spaß beim Testen.
Herzliche Grüße
batti-batch