mp-home
Goto Top

Ausgelagerte Variablen in Batchdatei

Hallo Forum,

ich versuche eine Batch zu erstellen, die in mehreren (Windows) Umgebungen laufen soll.
Dazu möchte ich die Variablendeklaration in eine separate Datei schreiben.
Z.B.
set Server=srv-test
set ServerIp=192.168.111.1
set ...

Diese Zeilen möchte ich jetzt in der eigentlichen Batch als Variablendeklaration weiterverwenden, sodass in einer neuen Umgebung immer nur die "kleine" Datei geändert werden muss.
Ist dies überhaupt möglich?

Vielen Dank für eure Unterstützung.

Grüße Markus

Content-Key: 326173

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

Printed on: April 16, 2024 at 09:04 o'clock

Mitglied: 131381
Solution 131381 Jan 12, 2017 at 10:39:11 (UTC)
Goto Top
for /f "usebackq delims=" %%a in ("C:\meinevariablen.txt") do %%a  
Gruß mik
Member: mp-home
mp-home Jan 12, 2017 at 11:09:27 (UTC)
Goto Top
Hallo mik,

vielen Dank für deine Hilfe, das funktioniert .

Habe es noch ein bisschen verändert:
for /f "tokens=*" %%a in ('type meinevariablen.txt') do set %%a  

Spricht etwas gegen meine Lösung?
Was ist "besser"?
Mitglied: 131381
131381 Jan 12, 2017 updated at 11:15:20 (UTC)
Goto Top
Zitat von @mp-home:
Habe es noch ein bisschen verändert:
for /f "tokens=*" %%a in ('type meinevariablen.txt') do set %%a  

Spricht etwas gegen meine Lösung?
Ja das "type" ist überflüssig wenn du es stattdessen wie oben machst ... und das geht natürlich so nur wenn in deiner Textdatei "Variablenname=Wert" ohne das set steht, du hattest ja oben das set in deinem Beispiel drin ...
Member: mp-home
mp-home Jan 12, 2017 at 11:52:35 (UTC)
Goto Top
klar, das zusätzliche set spare ich mir so in der "config-Datei".
Ein Problem taucht jetzt noch auf:
in der "config-Datei" gibt es eine Zeile:
log=Y:\log\server_%date:~-4,4%-%date:~-7,2%-%date:~-10,2%.log
Diese Zeile wird bei einer Echo-Ausgabe genau so dargestellt anstatt Y:\log\server_2017-01-12.log
D.h:
Eingelesen steht tatsächlich set log=Y:\log\server_%date:~-4,4%-%date:~-7,2%-%date:~-10,2%.log
Echo bringt dann Y:\log\server_%date:~-4,4%-%date:~-7,2%-%date:~-10,2%.log anstelle von Y:\log\server_2017-01-12.log
Wo liegt mein Problem?
Member: miniversum
Solution miniversum Jan 12, 2017 at 12:46:31 (UTC)
Goto Top
Hallo
mach mal zwischen do und set ein call. Dann sollte das auch funktionieren
Member: mp-home
mp-home Jan 12, 2017 at 13:10:32 (UTC)
Goto Top
Hi miniversum,

das war es, läuft alles.
Vielen Dank euch Beiden.

Gruß Markus