donnys73lb
Goto Top

In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei

Hallo zusammen,

ich möchte fragen, ob es - wie bspw. bei VBScript - auch mit einer Batchdatei möglich ist, eine Textdatei zeilenweise einzulesen und mit Hilfe der Zeileninhalte Batchvariablen zu befüllen.

Ich würde die Textdatei so aufbauen (bin da aber flexibel):




wohnung
privat


schluessel
firma


auto
privat




oder auch so ... wie gesagt ... ist mir eigentlich egal face-smile




wohnung=privat


schluessel=firma


auto=privat




Grüße aus dem sonnigen Stuttgart (wo es gerade schifft).

Donny

Content-ID: 311513

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

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

SeaStorm
Lösung SeaStorm 03.08.2016 um 09:19:29 Uhr
Goto Top
bei der zweiten Variante mit var=val

@echo off
setlocal disabledelayedexpansion
FOR /F "tokens=*" %%A IN ('type "config.txt"') DO SET %%A  
echo %wohnung%
echo %schluessel%
echo %auto%
Biber
Lösung Biber 03.08.2016 um 10:09:16 Uhr
Goto Top
Moin Seastorm,

im Prinzip ja, aber....

Wenn du in der Batchdatei ein "setlocal" verwendest, dann gelten die dort mit SET gesetzten Variablen auch nur während der Laufzeit dieser Batch.

Wenn er die Variablen also in der Batch weiterverarbeitet, dann passt deine Lösung prima.
Wenn er die Variablen aber setzen will, damit sie für andere Progrämmchen bzw. in dieser Session dauerhaft verfügbar sind, dann muss die setlocal-Zeile raus.

Grüße
Biber
SeaStorm
SeaStorm 03.08.2016 um 10:14:00 Uhr
Goto Top
korrekt

er fragte ja nach Batch-Variablen und nicht nach Umgebungsvariablen.
donnyS73lb
donnyS73lb 04.08.2016 um 08:22:58 Uhr
Goto Top
Hallo Leute,

supa! geht!

FOR /F "tokens=*" %%A IN ('type "%cd%\config.txt"') DO SET %%A

Eine Frage noch: Wenn die Textdatei eine Ebene höher liegt, wie müsste ich dann den Pfad angeben?

Gruß

Donny
rubberman
Lösung rubberman 04.08.2016 um 08:28:04 Uhr
Goto Top
Hallo Donny,

etwa so:
FOR /F "tokens=*" %%A IN ('type "..\config.txt"') DO SET "%%A"
Grüße
rubberman
donnyS73lb
donnyS73lb 04.08.2016 um 15:22:30 Uhr
Goto Top
passt, super! danke schön.