42687
Jul 25, 2009, updated at 10:38:45 (UTC)
4947
7
0
Liste auslesen und als Variable setzen
Hallo, ich möchte folgende Datei ("\\server\SNW\config.csv") auslesen:
Wobei immer das was vor dem ; steht der Variablenname sein soll und das was dahinter steht, der Variablenwert.
Bsp. set "schule=Grundschule-Zug"
Wie lese ich diese Datei möglichst einfach aus?
Danke.
Peter
Schule;Grundschule-Zug
Server1;\\server
Server;server
Domaene;GS-ZUG.local
domaene_dsadd;GS-Zug,dc;local
Pfad;\\server\SNW
lbasis;D:\SNW
Lehrer;Lehrer
Schueler;Schueler
Klassen;KLASSEN
cBasis;SNW
cLehrer;Lehrer
cSchueler;Schueler
gadmin;Admins
guseradmin;useradmin
glehrer;lehrer
gschueler;schueler
Wobei immer das was vor dem ; steht der Variablenname sein soll und das was dahinter steht, der Variablenwert.
Bsp. set "schule=Grundschule-Zug"
Wie lese ich diese Datei möglichst einfach aus?
Danke.
Peter
Please also mark the comments that contributed to the solution of the article
Content-Key: 121314
Url: https://administrator.de/contentid/121314
Printed on: April 24, 2024 at 12:04 o'clock
7 Comments
Latest comment
Hallo Peter161!
Wenn Du tatsächlich an der Kommandozeile testen willst, musst Du auch das "setlocal" weglassen - dieses hat ja genau den Zweck, die Variablen(inhalte) auf die Zeit während der Ausführung des Batches zu beschränken, sodass nach dem Ende des Batches (bzw nach einem expliziten "endlocal") die an den Variablen vorgenommenen Änderungen bzw die neu erstellten Variablen wieder "vergessen" werden; anders formuliert:
Wenn Du in den Batch eine Zeile 3
einfügst, wird auch
(der Variableninhalt - da gleichlautend mit dem Variablennamen nicht unbedingt das beste Beispiel ) ausgegeben werden.
Grüße
bastla
wenn ich aber nun echo %server% oder sowas schreib kommt %server% raus. dabei habe ich doch enabledelayedexpansion gemacht...?
"delayedExpansion" ist in diesem Zusammenhang kein Thema (und daher auch nicht in meinem Vorschlag enthalten).Wenn Du tatsächlich an der Kommandozeile testen willst, musst Du auch das "setlocal" weglassen - dieses hat ja genau den Zweck, die Variablen(inhalte) auf die Zeit während der Ausführung des Batches zu beschränken, sodass nach dem Ende des Batches (bzw nach einem expliziten "endlocal") die an den Variablen vorgenommenen Änderungen bzw die neu erstellten Variablen wieder "vergessen" werden; anders formuliert:
Wenn Du in den Batch eine Zeile 3
echo %server%
server
Grüße
bastla