92943
Goto Top

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? face-sad

Danke schonmal und ein schönes Wochenende face-smile

Content-Key: 189451

Url: https://administrator.de/contentid/189451

Printed on: April 24, 2024 at 23:04 o'clock

Member: bastla
bastla Aug 10, 2012 updated at 14:59:12 (UTC)
Goto Top
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 ...
Mitglied: 92943
92943 Aug 13, 2012 at 14:13:15 (UTC)
Goto Top
Hallo bastla face-smile

mir ist es eigl. egal wie, Hauptsache mein Vorhaben kann in einer Batch gelöst werden :D

Ok, ich möchte mit der Batch weitere Batchdateien schreiben, in denen dann die Zahl aus dem Textdokument stehen muss.
D.h. pro Zahl in dem Textdokument, wird eine weitere Batch geschrieben.

Den Thread schaue ich mir morgen an, heute leider keiner Zeit dafür face-sad
Sry, werde versuchen das nächste Mal auf meine Formatierung zu achten^^

Gruß face-smile
Member: bastla
bastla Aug 13, 2012 updated at 17:45:32 (UTC)
Goto Top
Hallo fyrb38!

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"  
)
- 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
Member: Biber
Biber Aug 13, 2012, updated at Aug 30, 2012 at 11:57:07 (UTC)
Goto Top
[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

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]
Mitglied: 92943
92943 Aug 30, 2012 at 10:27:43 (UTC)
Goto Top
Hallo Biber,

ja, ich hätte bastla da drauf antworten können, manchmal ist es echt schwer es jedem Recht zu machen, deshalb danke für deinen Hinweis. Möchte bastla ja nicht unhöflich rüberkommen, er leistet tolle Arbeit hier face-smile

Grüße face-smile


Hallo bastla,

Also, es ist gewollt und ist von einem anderen Programm so vorrausgesetzt, dass mehrere Batchdateien erstellt werden. Es werden keine hunderte erstellt.
Wenn ich hier jetzt den kompletten Zweck und Ablauf erklären würde, würde es Seitenlang werden und meinem Chef würde es sicherlich auch nicht so gefallen.

wie immer vielen Dank für deine Hilfe face-smile
Der Hinweis das Vorhaben gleich in der Schleife zu verarbeiten ist super. Hätte man auch selbst drauf kommen können -.- Sry.

Grüße face-smile