
43547
15.02.2007, aktualisiert am 11.04.2007
Informationen aus Datei fortlaufend in unterschiedliche Variable einlesen!?
Hallo,
folgende Aufgabenstellung habe ich momentan zu lösen: Es gibt eine Datei namens 'LW_C.drv'. Der Inhalt sieht folgermaßen aus:
LW_100=C:\meinprogramm\test
LW_101=C:\nocheinprogramm\test2
LW_102 ...
.
.
.
LW_199=D:\xyz\
Per for-Schleife innerhalb einer batch soll zeilenweise der vor dem = -Zeichen stehende Teil als Variablenname verwendet/deklariert (z.B. LW_120) werden, als Inhalt der Variable soll der Teil hinter dem = -Zeichen genutzt werden. Es soll so lange fortgefahren werden, bis das Ende der Datei erreicht ist. Sprich die Variable selbst muss sich bei jedem Durchlauf der for-Schleife ändern.
Ich hab schon einen Lösungsansatz, jedoch scheitert es unter anderem daran, eine Variable bei jedem Durchlauf zu ändern, also z.B. wie in C++ die Variable i hochzählen.
Wäre cool wenn Ihr einen Lösungsansatz parat hättet.
MfG
Marcel
folgende Aufgabenstellung habe ich momentan zu lösen: Es gibt eine Datei namens 'LW_C.drv'. Der Inhalt sieht folgermaßen aus:
LW_100=C:\meinprogramm\test
LW_101=C:\nocheinprogramm\test2
LW_102 ...
.
.
.
LW_199=D:\xyz\
Per for-Schleife innerhalb einer batch soll zeilenweise der vor dem = -Zeichen stehende Teil als Variablenname verwendet/deklariert (z.B. LW_120) werden, als Inhalt der Variable soll der Teil hinter dem = -Zeichen genutzt werden. Es soll so lange fortgefahren werden, bis das Ende der Datei erreicht ist. Sprich die Variable selbst muss sich bei jedem Durchlauf der for-Schleife ändern.
Ich hab schon einen Lösungsansatz, jedoch scheitert es unter anderem daran, eine Variable bei jedem Durchlauf zu ändern, also z.B. wie in C++ die Variable i hochzählen.
Wäre cool wenn Ihr einen Lösungsansatz parat hättet.
MfG
Marcel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 51768
Url: https://administrator.de/forum/informationen-aus-datei-fortlaufend-in-unterschiedliche-variable-einlesen-51768.html
Ausgedruckt am: 21.05.2025 um 20:05 Uhr
8 Kommentare
Neuester Kommentar
Hallo IT-KMS-Nitschke!
Wie sollte es denn weitergehen, wenn Du Dein Array aufgebaut hast? Lässt sich der weitere Verlauf nicht direkt als Unterprogramm in der Schleife durchführen, also in der Art:
Grüße
bastla
Wie sollte es denn weitergehen, wenn Du Dein Array aufgebaut hast? Lässt sich der weitere Verlauf nicht direkt als Unterprogramm in der Schleife durchführen, also in der Art:
for /f "delims== tokens=1-2" %%i in (f:\temp\LW_C.drv) do call :Process "%%i" "%%j"
goto :eof
:Process
echo Für %~1 wurde Wert %~2 gelesen ...
goto :eof
Grüße
bastla
... oder, falls Du anhand der Nummer zugreifen willst, ginge das zB so:
Hier wurde bewusst nur noch der Teil hinter dem ersten "=" (mit "tokens=2") gelesen.
Grüße
bastla
set /p lNr=Laufende Nummer_
set Drv=
for /f "delims== tokens=2" %%i in ('findstr /b /i "LW_%lNr%=" f:\temp\LW_C.drv') do set "Drv=%%i"
echo Zu %lNr% wurde folgender Eintrag gefunden: %Drv%
Grüße
bastla
Ich weiss nich', bastla,
ich denke immer noch noch, dass IT_KMS-Nitschke die zuerst gepostete Variante missverstanden hat.
Bei Deiner letzten (handwerklich richtigen) Variation des Themas kommt doch inhaltllich nichts anderes heraus...
@43547:
Bitte nochmal am CMD-Prompt anschauen:
Gruss
Biber
ich denke immer noch noch, dass IT_KMS-Nitschke die zuerst gepostete Variante missverstanden hat.
Bei Deiner letzten (handwerklich richtigen) Variation des Themas kommt doch inhaltllich nichts anderes heraus...
@43547:
Bitte nochmal am CMD-Prompt anschauen:
>for /f "delims== tokens=1-2" %i in (LW_C.drv) do @Set %i=%j
---und dann bitte mit "Set LW_ " ansehen, welche Variablen da sind:
>Set LW_
----- es sollte passieren die Ausgabe:
LW_100=C:\meinprogramm\test
LW_101=C:\nocheinprogramm\test2
....
Gruss
Biber
@Biber
Full ACK, wobei ich mich aber immer noch frage, was er dann mit den ganzen Variablen anstellen will - daher meine Varianten zur direkten Verarbeitung per Schleife bzw für Random-Zugriff ...
Grüße
bastla
Full ACK, wobei ich mich aber immer noch frage, was er dann mit den ganzen Variablen anstellen will - daher meine Varianten zur direkten Verarbeitung per Schleife bzw für Random-Zugriff ...
Grüße
bastla