Mit Batch verschiedene Einstellungen (Variablen) aus CSV auslesen und korrekt verknüpfen (Variablen zusammenführen)
Hallo zusammen
bin "neu" hier im Forum, resp. muss einfach erst jetzt das erste mal selber was fragen, da ich sonst immer fündig geworden bin!
Das liegt wohl daran, dass das Forum TOP ist und immer sehr kompetente Antworten gefunden werden.
-> Hier schon mal ein grosses Dankeschön an aktive Nutzer wie zB. Bieber, Bastla, etc.
Ich habe einige verschiedene Batch-Anwendungen, bei denen ich gern am Anfang ein paar User-Einstellungen aus einem CSV in Variablen speichern möchte.
Dabei gibt es zum Teil Variablen die durch vorherige verknüpft sind, wie zB:
Nun sind diese zur einfachen User-Anwendung in einer CSV-Datei abgelegt, zB:
Auslesen kann ich diese bisher wie folgt:
Leider funktioniert so die Verknüpfung der Variablen nicht korrekt. Dies kann ich beheben, indem ich vor dem Auslesen "setlocal ENABLEDELAYEDEXPANSION" und dann im CSV !var! statt %var% verwende!
So weit so gut....
...aber leider muss ich in den Einstellungen im CSV zwischen %var% und !var! unterscheiden können, da folgende Zeilen im CSV enthalten sind:
Das Format wird später zur korrekten logischen Ablage von Daten verwendet! Da analysiere ich definierte Ordnerstrukturen und verwende die Ordnernamen als Variablen und lege Daten dann nach neuen gewünschten Strukturen ab. Dies funktioniert mit normal definierten Variablen (zB. set ArchivFormat=!StandortNr!\!Datum!) auch schon korrekt, indem ich DELAYEDEXPANSION erst nach dem definieren der Variablen aktiviere.
Also meine eigentliche Frage:
Findet jemand eine Lösung, die Daten aus der CSV Datei auslesen und die Variablen korrekt zu verknüpfen, ohne ENABLEDELAYEDEXPANSION zu verwenden?
PS. Ich hab noch einen zweiten Lösungsansatz versucht, der allerdings auch nicht erfolgreich war:
Hoffe ich konnte mein etwas komplexeres Problem möglichst präzise und verständlich beschreiben und danke euch schon jetzt für eure Hilfe.
Liebe Grüsse Philip
bin "neu" hier im Forum, resp. muss einfach erst jetzt das erste mal selber was fragen, da ich sonst immer fündig geworden bin!
Das liegt wohl daran, dass das Forum TOP ist und immer sehr kompetente Antworten gefunden werden.
-> Hier schon mal ein grosses Dankeschön an aktive Nutzer wie zB. Bieber, Bastla, etc.
Ich habe einige verschiedene Batch-Anwendungen, bei denen ich gern am Anfang ein paar User-Einstellungen aus einem CSV in Variablen speichern möchte.
Dabei gibt es zum Teil Variablen die durch vorherige verknüpft sind, wie zB:
set DatenLaufwerk=E:
set DatenPfad=BildDaten\Bredar\Fixe_GTS-RT4
set DatenInput=%DatenLaufwerk%\%DatenPfad%\Temp
set Export=%DatenLaufwerk%\%DatenPfad%\Export
set Archiv=%DatenLaufwerk%\%DatenPfad%\Save
::etc...
Nun sind diese zur einfachen User-Anwendung in einer CSV-Datei abgelegt, zB:
DatenLaufwerk;E:
DatenPfad;BildDaten\Bredar\Fixe_GTS-RT4
DatenInput;%DatenLaufwerk%\%DatenPfad%\Temp
etc...
Auslesen kann ich diese bisher wie folgt:
for /f "skip=1 tokens=1-2 delims=;" %%a in (%SettingsFile%) do (
set %%a=%%b
)
Leider funktioniert so die Verknüpfung der Variablen nicht korrekt. Dies kann ich beheben, indem ich vor dem Auslesen "setlocal ENABLEDELAYEDEXPANSION" und dann im CSV !var! statt %var% verwende!
So weit so gut....
...aber leider muss ich in den Einstellungen im CSV zwischen %var% und !var! unterscheiden können, da folgende Zeilen im CSV enthalten sind:
Archiv;%DatenLaufwerk%\%DatenPfad%\Save
ArchivFormat;!StandortNr!\!Datum!
Also meine eigentliche Frage:
Findet jemand eine Lösung, die Daten aus der CSV Datei auslesen und die Variablen korrekt zu verknüpfen, ohne ENABLEDELAYEDEXPANSION zu verwenden?
PS. Ich hab noch einen zweiten Lösungsansatz versucht, der allerdings auch nicht erfolgreich war:
set /a AnzahlZeilen=0
for /f "delims=" %%a in (%SettingsFile%) do set /a AnzahlZeilen+=1
set /a AnzahlZeilen-=1
set /a XMLcnt=0
:ReadXML
set /a XMLcnt+=1
for /f "skip=%XMLcnt% tokens=1-2 delims=;" %%a in (%SettingsFile%) do (
set %%a=%%b
goto EndFOR
)
:EndFOR
if %XMLcnt% LSS %AnzahlZeilen% goto ReadXML
echo %DatenInput%
Hoffe ich konnte mein etwas komplexeres Problem möglichst präzise und verständlich beschreiben und danke euch schon jetzt für eure Hilfe.
Liebe Grüsse Philip
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368544
Url: https://administrator.de/forum/mit-batch-verschiedene-einstellungen-variablen-aus-csv-auslesen-und-korrekt-verknuepfen-variablen-368544.html
Ausgedruckt am: 21.04.2025 um 17:04 Uhr
3 Kommentare
Neuester Kommentar