92943
Aug 10, 2012
3353
5
0
Aus einer TXT eine bestimmte Zahl aus jeder Zeile in eine neue Variable speichern
Hallo,
ich habe jetzt schon viel recherchiert und Vorschläge aus anderen Einträgen getestet, irgendwie bekomme ich mein Vorhaben einfach nciht gelöst, ich glaub ich seh den Wald vor lauter Bäumen nicht.
Ich habe eine Textdatei, die so aussieht...
Beispiel 1:
Minuten 10
Minuten 5
Minuten 40
Minuten 30
oder so, Beispiel 2:
Minuten 15
Wie man sehen kann: Die Zahlenangaben und die Anzahl der Zeilen können variieren, der Aufbau ist jedoch immer gleich.
Ich möchte die Zahlen nun in eine Batch als Variable bekommen.
Dass die Batch also Zeile 1 ausliest und die 10 erkennt und in Variable 1 speichert.
Dann wird Zeile 2 ausgelesen und die Zahl 5 in Variable 2 gespeichert.
usw.
Damit ich mit den Zahlen in der Batch arbeiten kann.
Ich habe mir sowas gedacht:
set /a cnt=1
FOR /F "tokens=2" %%a IN (Textdatei) DO (
SET Var%cnt%=%%a
set /a cnt+=1
)
In der Textdatei waren zum Testen 2 Werte, also habe ich mir mit...
ECHO %var1% und %var2%>>Pfad\tmp.txt
...die Werte ausgeben lassen und ich erhalte nur den letzten Wert.
Warum?
Danke schonmal und ein schönes Wochenende
ich habe jetzt schon viel recherchiert und Vorschläge aus anderen Einträgen getestet, irgendwie bekomme ich mein Vorhaben einfach nciht gelöst, ich glaub ich seh den Wald vor lauter Bäumen nicht.
Ich habe eine Textdatei, die so aussieht...
Beispiel 1:
Minuten 10
Minuten 5
Minuten 40
Minuten 30
oder so, Beispiel 2:
Minuten 15
Wie man sehen kann: Die Zahlenangaben und die Anzahl der Zeilen können variieren, der Aufbau ist jedoch immer gleich.
Ich möchte die Zahlen nun in eine Batch als Variable bekommen.
Dass die Batch also Zeile 1 ausliest und die 10 erkennt und in Variable 1 speichert.
Dann wird Zeile 2 ausgelesen und die Zahl 5 in Variable 2 gespeichert.
usw.
Damit ich mit den Zahlen in der Batch arbeiten kann.
Ich habe mir sowas gedacht:
set /a cnt=1
FOR /F "tokens=2" %%a IN (Textdatei) DO (
SET Var%cnt%=%%a
set /a cnt+=1
)
In der Textdatei waren zum Testen 2 Werte, also habe ich mir mit...
ECHO %var1% und %var2%>>Pfad\tmp.txt
...die Werte ausgeben lassen und ich erhalte nur den letzten Wert.
Warum?
Danke schonmal und ein schönes Wochenende
Please also mark the comments that contributed to the solution of the article
Content-Key: 189451
Url: https://administrator.de/contentid/189451
Printed on: April 24, 2024 at 23:04 o'clock
5 Comments
Latest comment
Hallo fyrb38!
Damit wären wir wieder beim Thema "Pseudo-Batch-Array" und der Frage, wozu das gut sein soll - insofern solltest Du vielleicht etwas genauer erklären, was Du danach mit den einzelnen Zahlen anfangen willst (da sich zumeist die Verarbeitung gleich innerhalb der Schleife einfacher und effektiver durchführen lässt) ...
Falls Du aber wirklich gesteigerten Wert auf ein Array legst, schau Dir diesen Thread an ...
Grüße
bastla
P.S.: Wie "Code"-Formatierung vorzunehmen ist, steht da ...
Damit wären wir wieder beim Thema "Pseudo-Batch-Array" und der Frage, wozu das gut sein soll - insofern solltest Du vielleicht etwas genauer erklären, was Du danach mit den einzelnen Zahlen anfangen willst (da sich zumeist die Verarbeitung gleich innerhalb der Schleife einfacher und effektiver durchführen lässt) ...
Falls Du aber wirklich gesteigerten Wert auf ein Array legst, schau Dir diesen Thread an ...
Grüße
bastla
P.S.: Wie "Code"-Formatierung vorzunehmen ist, steht da ...
Hallo fyrb38!
Wenn Du jeweils nur eine Zahl verarbeiten musst, kannst Du das, wie erwähnt, gleich in der Schleife erledigen:
- wobei "alles Nötige" natürlich auch das Schreiben in eine andere Datei sein kann (und auch hier stellt sich die Frage, ob Du wirklich eine Menge Batchdateien erzeugen musst, oder ob nicht eine einzige, der die jeweilige Zahl als Parameter übergeben wird, ausreichen würde) ...
Grüße
bastla
Wenn Du jeweils nur eine Zahl verarbeiten musst, kannst Du das, wie erwähnt, gleich in der Schleife erledigen:
FOR /F "tokens=2" %%a IN (Textdatei) DO (
echo Mache alles Nötige mit "%%a"
)
Grüße
bastla
[OT]
Moin @bastla,
Keine Ahnung warum, aber irgendwie habe habe ich manchmal das Bild eines heftig gestikulierenden Schülerlotsen am Rande einer hohen Klippe vor Augen.
Vor ihm teilt sich ein tennisplatzbreiter Strom Hochgeschwindigslemminge, die links und rechts an ihm vorbeipreschen....
... den Blick verzückt auf den Horizont gerichtet...
vereinzelte schaffen es auch zwischen seinen Beinen durch....
Keine Ahnung, wie ich darauf komme jezz'...
@92943
Wenn hier im Bereich Batch & Shell die vorsichtige Einleitung "Vielleicht solltest du mal laut vor dich hinsprechen, warum du meinst, ausgerechnet diesen Lösungweg einschlagen zu müssen..." ...MEHRFACH kommt..
...ich würde an deiner Stelle mal höfliches Interesse an einer Expertenmeinung bekunden.
Oder wenigstens nachfragen.
Grüße
Biber
[/OT]
Moin @bastla,
Zitat von @bastla:
... und auch hier stellt sich die Frage, ob Du wirklich eine Menge Batchdateien erzeugen musst, oder ob nicht ...
Grüße
bastla
... und auch hier stellt sich die Frage, ob Du wirklich eine Menge Batchdateien erzeugen musst, oder ob nicht ...
Grüße
bastla
Keine Ahnung warum, aber irgendwie habe habe ich manchmal das Bild eines heftig gestikulierenden Schülerlotsen am Rande einer hohen Klippe vor Augen.
Vor ihm teilt sich ein tennisplatzbreiter Strom Hochgeschwindigslemminge, die links und rechts an ihm vorbeipreschen....
... den Blick verzückt auf den Horizont gerichtet...
vereinzelte schaffen es auch zwischen seinen Beinen durch....
Keine Ahnung, wie ich darauf komme jezz'...
@92943
Wenn hier im Bereich Batch & Shell die vorsichtige Einleitung "Vielleicht solltest du mal laut vor dich hinsprechen, warum du meinst, ausgerechnet diesen Lösungweg einschlagen zu müssen..." ...MEHRFACH kommt..
...ich würde an deiner Stelle mal höfliches Interesse an einer Expertenmeinung bekunden.
Oder wenigstens nachfragen.
Grüße
Biber
[/OT]