# Batch-Datei - Werte aus Textdatei in eine Variable kopieren?



## taks (17. Februar 2009)

Abend zusammen

Ich bin grad ein kleines Programm am basteln, mit welchem ich eigentlich nur eine Liste bekomme von den Songs die auf meinem Player liefen. Dem Player kann ich eben nur sagen dass er das Aktuelle Lied in einen .txt schreiben soll.
Das ganze wollte ich eigentlich mit einer Batch-Datei machen, da ich im moment nichts auf dem PC habe um mit C zu schreiben. Aber irgendwie Blick ich ned ganz durch ^^

Das ganze sollte etwa so aussehen:

[
set playlist=0   \\ die variable playlist erstellen / auf 0 setzten 
for /f "tokens=2 delims=^=," %%i in (aktuell.txt) do echo %%i >> playlist.txt \\ hier will ich den Text aus der Datei aktuell.txt in die Variable "playlist" kopieren

echo %playlist% >> playlist.txt \\ das ganze wird von der Variable in die playlist.txt geschrieben

pause 
]

Aber ich komm bei der for Schleife ned ganz draus was ich für Parameter eingeben muss um den Text heraus zu filtern. weil er hat immernoch das 0 vom Anfang in der Variable, nicht den Text aus der .txt


Kann mir wer sagen wie ich das jetzt auf meinen Code anpassen muss?


----------



## dot (17. Februar 2009)

Warum der Umweg ueber die Variable, wenn du es auch direkt reinschreiben kannst?


```
FOR /f %%f IN (aktuell.txt) DO echo %%f >> list.txt
```

Dadrum dann halt eine Schleife oder verstehe ich da etwas falsch?


----------



## taks (17. Februar 2009)

dot schrieb:


> Warum der Umweg ueber die Variable, wenn du es auch direkt reinschreiben kannst?
> 
> 
> ```
> ...


 
könntest du mir kurz erklären was die einzelnen Parameter bedeuten?
Hilfe zur Selbsthilfe und so ^^

ps: Ja, da kommt noch ne Schleife rum, aber ich muss da noch was schreiben dass der erst weiterspringt wenn sich die aktuell.txt verändert.


----------



## dot (17. Februar 2009)

taks schrieb:


> könntest du mir kurz erklären was die einzelnen Parameter bedeuten?



Ich hab doch auch keine Ahnung von dieser komischen Sprache 

(FOR) Schleife mit dem Parameter (/F) -> lies in (aktuell.txt) jede einzelne Zeile als Text, speicher sie in die Variable (%%f) und mach (DO) eine Ausgabe der Variable (%%f) die angehaengt (>>) wird in (list.txt).
Macht der Satz Sinn?


----------



## taks (18. Februar 2009)

dot schrieb:


> Ich hab doch auch keine Ahnung von dieser komischen Sprache
> 
> (FOR) Schleife mit dem Parameter (/F) -> lies in (aktuell.txt) jede einzelne Zeile als Text, speicher sie in die Variable (%%f) und mach (DO) eine Ausgabe der Variable (%%f) die angehaengt (>>) wird in (list.txt).
> Macht der Satz Sinn?


 
ne, aber ich habs verstanden


----------



## dot (18. Februar 2009)

Wobei ich glaube, dass in diesem Fall %%f eine feste Systemvariable zu sein scheint, denn ein Austausch gegen eine %normale% scheint nicht zu klappen :-/


----------



## taks (20. Februar 2009)

Hier steht auch ein bisschen was dazu.
Batch-Programmierung: Batch-Befehle ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

Aber ich hab hoffentlich bald mal Zeit um das auszuprobieren


----------



## AchtBit (20. Februar 2009)

warum willst du das eigentlich rumschleifen. Ein einfaches ' type aktuell.txt >> list.txt ' tuts doch auch.

%f ist keine systemvar. könnte auch %irgendwas sein


----------

