Zum Inhalt springen

Batch-Sektionen auslesen aus INI


User-Root

Empfohlene Beiträge

Hallo Gemeinde,

ich verzweifel hier noch...

Es geht darum in einer Ini-Datei alle Einträge einer Section durch eine For-Schleife in einer Batch auszulesen.

Die ini selbst hat mehrere Sections:

[Section1]

Stadt=Bremen

Land=Deutschland

Fluss=Rhein


[Section2]

Hafen=Travemuende

Haus=Rathaus

Bahnhof=Hauptbahnhof
Pseudocode:
For /F %%i "delims== tokens=2,2" in ("Datei und Sektion") do "weitergabe"

Wie kann ich nun statt des Pseudocodes "Datei und Section" die Datei und die Section spezifizieren, sodaß er die komplette section durchforstet und für jede zeile in der Section die Schleife wiederholt?

"weitergabe" ist bekannt :)

Danke Ihr lieben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also gut, So wie es scheint gibt es wohl keine direkte Möglichkeit das einzugeben.

Gibt es andere Möglichkeiten das zu realisieren. Ich möchte nur sehr ungern mit 2 INIs arbeiten müssen, wenn es doch Möglichkeiten gibt mit Sections zu arbeiten.

Ich hatte auch ein wenig gegoogelt( was garnicht so einfach war) und das hier gefunden. Nur muss ich gestehen, das mir der Quellcode zum verstehen etwas zu lang ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm, ich hatte gerade Rücksprache mit meinem besten Freund und Mentor.

Ich werde im Bereich Weitergabe mit einer IF-Abfrage ermitteln ob ich die Richtige Sektion gefunden habe. Wenn dies erreicht wurde, wird eine Switch-Parameter von Off auf On umgeschaltet. Der nachfolgende Schleifendurchlauf wird dann mit einer weiteren IF-Abfrage erkennen das die Zeile nun weitergereicht werden sollte und wenn am Ende die Nächste Sektion gefunden wird, springt ein Goto aus der Schleife...

Also:


set switch=off

For /F %%i "delims== tokens=2,2" in ("Datei") do (

  If %switch%==on do(

  If %%i==[*] goto end

  "weitergabe"

  )

If %%i==[section1] set switch=on

)

:end

Ist zwar noch ungetestet, aber rein Gefühlsmäßig sollte das hinhauen.

Danke JB

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, das mit dem integrierten Switch als Parameter frißt er nicht, daher eine geringfügige Anpassung:

del on

For /F %%i "delims== tokens=2,2" in ("Datei") do (

  If exist on do(

  If %%i==[section2] goto end

  "weitergabe"

  )

If %%i==[section1] echo xxx>on

)

:end

del on

Also statt einer Variablen als Schalter, nutze ich die Datei on. was in der drin steht ist gleichgültig, daher xxx.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...