
89485
22.04.2010
Variablen aus .ini in Batch einbinden
Guten Morgen,
was ich versuchen wollte, Variablen, die ich in einer .ini Datei zuvor festlege, in ein Batchfile einbinden.
a) geht des überhaupt, wenn ja wie?
b) und wenn ja, wie muss man dann genau die Variablen deklarieren? wie in einem Batch?
Danke schon mal
Grüße
Batchliebhaber
was ich versuchen wollte, Variablen, die ich in einer .ini Datei zuvor festlege, in ein Batchfile einbinden.
a) geht des überhaupt, wenn ja wie?
b) und wenn ja, wie muss man dann genau die Variablen deklarieren? wie in einem Batch?
Danke schon mal
Grüße
Batchliebhaber
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 141207
Url: https://administrator.de/forum/variablen-aus-ini-in-batch-einbinden-141207.html
Ausgedruckt am: 22.04.2025 um 21:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Batchliebhaber!
Wenn Du die Variablen in der "ini"-Datei so hinterlegst:
kannst Du sie ganz direkt mit
einlesen und setzen.
Im Gegenzug erlaubt ein einfaches
das Speichern aller Variablen, die mit "var_" beginnen.
Grüße
bastla
[Edit] @77559 & Biber: Tschuldigung, wird - vor allem um die Zeit - kaum wieder vorkommen ...
[/Edit]
Wenn Du die Variablen in der "ini"-Datei so hinterlegst:
var_Test=123456
var_Wert=mit Leerzeichen
for /f "delims=" %%i in (D:\Deine.ini) do set "%%i"
Im Gegenzug erlaubt ein einfaches
set var_ >D:\Deine.ini
Grüße
bastla
[Edit] @77559 & Biber: Tschuldigung, wird - vor allem um die Zeit - kaum wieder vorkommen ...

Moin moin Batchliebhaber,
das hängt vom Aufbau deiner Ini-Datei ab. Eini Windows-Ini-Datei hat üblicherweise Sektionsnamen in eckigen Klammern.
Wenn du das selber bestimmst ist es trivial. Wenn die Variablen einen gemeinsamen Prefix haben kann man sie so einfach speichern:
Zum Einlesen der Variablen reicht dieser Einzeiler (in einer Batch sind die %-Zeichen zu verdoppeln):
Ungetestet
Gruß
LotPings
Mist, Bastla war ausgeschlafener
das hängt vom Aufbau deiner Ini-Datei ab. Eini Windows-Ini-Datei hat üblicherweise Sektionsnamen in eckigen Klammern.
Wenn du das selber bestimmst ist es trivial. Wenn die Variablen einen gemeinsamen Prefix haben kann man sie so einfach speichern:
Set Prefix >Deine.Ini
Zum Einlesen der Variablen reicht dieser Einzeiler (in einer Batch sind die %-Zeichen zu verdoppeln):
For /f tokens=1,* delims==" %A in (Deine.Ini) do Set %A=%B
Ungetestet
Gruß
LotPings
Mist, Bastla war ausgeschlafener
Moin Batchliebhaber,
ergänzend zu bastla [Edit] und LotPinx [/Edit] noch eine andere Demo am CMD-Prompt:
Ich schreibe ein paar Zeilen in eine Textdatei namens "meineini.ini" und versuche mich an den gewohnten Aufbau einer Win[dows].ini-Datei anzulehnen.
Grüße
Biber
[Edit] Mist, bastla und LotPings hatten schon einen Koffein-Vorsprung.[/Edit]]
ergänzend zu bastla [Edit] und LotPinx [/Edit] noch eine andere Demo am CMD-Prompt:
>echo [MeineSection]>>meineini.ini
>echo ; eine Kommentarzeile mit ein paar == (Gleichheitsszeichen) == >>meineini.ini
>echo ; neuevar=wert>>meineini.ini
>echo neuevar=wert>>meineini.ini
>for /f "tokens=1,2* delims==" %i in (meineini.ini) do @if "%j" NEQ "" echo Set "%i=%j"
>type meineini.ini
[MeineSection]
; eine Kommentarzeile mit ein paar == (Gleichheitsszeichen) ==
; neuevar=wert
neuevar=wert
>for /f "tokens=1,2* delims==" %i in (meineini.ini) do @if "%j" NEQ "" echo Set "%i=%j"
Set "neuevar=wert"
- Alle Zeilen, die mit einem ";" (Semikolon) beginnen werden praktischerweise ignoriert (Standardeinstellung der FOR-Anweisung).
- [Sectionnamen] werden ignoriert, da sie keine 2 Token enthalten, wenn "delims sind Gleichheitszeichen" angesagt sind.
- Leerzeilen werden ohnehin ignoriert.
Grüße
Biber
[Edit] Mist, bastla und LotPings hatten schon einen Koffein-Vorsprung.[/Edit]]