
25521
20.01.2007, aktualisiert um 17:51:43 Uhr
Variable aus Datei lesen? Einfacher weg gesucht.
Wie kann ich aus einer Datei eine variable auslesen?
Hallo erst mal,
ich habe eine Datei namens Conf.wcl in der steht 1 oder 2 zeichen. A B ... Y Z AA AB ... AY AZ
Nun müste ich nur den weg wiessen wie ich den oder die Buchstaben aus der Datei auslesen kann und einer Variable in einer Batch zuweisen kann. Hintergund, Abhängieg von dem was in Conf.wcl steht soll entschieden werden ob die Dateine gesichert werden müssen und wenn ja, legen die Buchstaben mit fest wohin.
Hallo erst mal,
ich habe eine Datei namens Conf.wcl in der steht 1 oder 2 zeichen. A B ... Y Z AA AB ... AY AZ
Nun müste ich nur den weg wiessen wie ich den oder die Buchstaben aus der Datei auslesen kann und einer Variable in einer Batch zuweisen kann. Hintergund, Abhängieg von dem was in Conf.wcl steht soll entschieden werden ob die Dateine gesichert werden müssen und wenn ja, legen die Buchstaben mit fest wohin.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 49318
Url: https://administrator.de/forum/variable-aus-datei-lesen-einfacher-weg-gesucht-49318.html
Ausgedruckt am: 21.04.2025 um 08:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Telena!
Versuch
Die etwas aufwändigere Schreibweise soll sicher stellen, dass nur die erste (nicht leere) Zeile verwendet wird; danach ist die Variable "code" schon "defined" (vorhanden) und wird nicht mit Einträgen aus etwaigen weiteren (wenn auch unbeabsichtigten) Zeilen in "conf.wcl" überschrieben.
HTH
bastla
Versuch
set code=
for /f %%i in (conf.wcl) do if not defined code set code=%%i
HTH
bastla
Moin Telena,
ergänzend zu bastla's Lösung noch ein paar Anmerkungen zu Deiner Conf-Datei.
Wenn wirklich die ganze conf.wcl nur aus dieser einen Zeile besteht, dann geht es am einfachsten mit
Wenn die Conf.wcl halbwegs pflegbar/lesbar konzipiert ist und sinngemäß wie eine *.ini-Datei aussieht
Wenn es als so in der Art aussehen würde, dann kannst du einzelne Zeilen-Einträge gezielt mit SET [ohne /P ] in geleichnamige Variablen setzen, wenn Du die relevante Zeile mit FindStr.exe ermittelst:
Gruß
Biber
ergänzend zu bastla's Lösung noch ein paar Anmerkungen zu Deiner Conf-Datei.
ich habe eine Datei namens Conf.wcl in der steht 1 oder 2 zeichen..
Bin nicht sicher, ob ich das richtig verstehe....Wenn wirklich die ganze conf.wcl nur aus dieser einen Zeile besteht, dann geht es am einfachsten mit
set /p neueVariable=<Conf.wcl
Wenn die Conf.wcl halbwegs pflegbar/lesbar konzipiert ist und sinngemäß wie eine *.ini-Datei aussieht
....
; das ist eine conf.wcl-Datei
; Da können Kommentarzeilen drin stehen, damit ein Leser weiß, was er ändern kann oder nicht ändern darf
; da können [Sections] enthalten sein, um eine Eindeutigkeit von Einträgen sicherzustellen etc.
;Beispiel:
[Sicherung]
; So könnte 1 bedeuten "Ja" und 0/kein Eintrag "nicht sichern"
Sichern=1
BackupPfad=X:\Archiv
Wenn es als so in der Art aussehen würde, dann kannst du einzelne Zeilen-Einträge gezielt mit SET [ohne /P ] in geleichnamige Variablen setzen, wenn Du die relevante Zeile mit FindStr.exe ermittelst:
:: --ermitteln und Setzen mit einer FOR /F-Anweisung-
FOR /F %%i in ('findstr /i "BackupPfad" conf.wcl') do Set %%i
:: dann steht der Wert in einer Variablen %BackupPfad%
Gruß
Biber