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

Ausgedruckt am: 19.03.2024 um 02:03 Uhr

Mitglied: 131381
Lösung 131381 12.01.2017 um 11:39:11 Uhr
Goto Top
for /f "usebackq delims=" %%a in ("C:\meinevariablen.txt") do %%a  
Gruß mik
Mitglied: mp-home
mp-home 12.01.2017 um 12:09:27 Uhr
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 12.01.2017 aktualisiert um 12:15:20 Uhr
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 ...
Mitglied: mp-home
mp-home 12.01.2017 um 12:52:35 Uhr
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?
Mitglied: miniversum
Lösung miniversum 12.01.2017 um 13:46:31 Uhr
Goto Top
Hallo
mach mal zwischen do und set ein call. Dann sollte das auch funktionieren
Mitglied: mp-home
mp-home 12.01.2017 um 14:10:32 Uhr
Goto Top
Hi miniversum,

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

Gruß Markus