DOS Befehl gesucht

Das es die Rubrik DOS nicht gibt denke ich mal hier bin ich richtig :wink:

Folgendes: Ich suche die Möglichkeit mit 1 Zeile (!) Code in einer Batch-Datei mehrere Zeilen Text (nicht aus Textdatei!) in eine Datei zu schreiben. Ich stelle mir das ungefähr so vor:

echo Zeile 1 \> file.txt | echo Zeile 2 \>\> file.txt | echo Zeile 3 \>\> file.txt | ...

Leider klappt das so nicht. Wer hat ne Idee?

mfg Slick

Folgendes: Ich suche die Möglichkeit mit 1 Zeile (!) Code in
einer Batch-Datei mehrere Zeilen Text (nicht aus Textdatei!)
in eine Datei zu schreiben. Ich stelle mir das ungefähr so
vor:

echo Zeile 1 > file.txt | echo Zeile 2 >> file.txt |
echo Zeile 3 >> file.txt | …

Warum soll es EINE Zeile sein?
Ich habe leider kein DOS-Handbuch mehr, aber ganz spontan aus dem Gefühl heraus würde ich sagen, die | sind falsch.
In mehreren Zeilen sollte es doch klappen:
echo Zeile 1 > file.txt
echo Zeile 2 >> file.txt

Wenn nun unbedingt alles in einer Zeile sein soll,
kann man dann nicht den Zeilenumbruch (CR, ASCII 13) irgendwie umschreiben, so dass man praktisch
Zeilen = Zeile 1 + CR + Zeile 2 + CR + Zeile 3
einfach als
echo Zeilen > file.txt
schreiben könnte.

Wie gesagt, ohne DOS-Handbuch kann ich nur auf diesem inkompetenten Niveau antworten, vielleicht hilft es Dir trotzdem.
Meine Idee aus dem letzten Abschnitt muss auf jeden Fall anders geschrieben werden, so viel ist sicher.
Gruss
Ingo

Hi Slick,

die Idee mit den | war im Prinzip nicht verkehrt … sofern du mit DOS eine DOS-Shell z.B. unter NT meinst … es war nur nicht der richtige Parameter …

Nimm statt | lieber && dann geht es :smile:

| führt den Befehl2 aus und nimmt die Ausgabe des Befehl1 als Eingabe …

aber was DU willst ist dann etc.

für dich wäre also :

&& && die Lösung …

&& bedeutet für den nächsten Befehl aus, wenn der vorherige erfolgreich war … und nachdem echo meistens zum Erfolg führt …*grien*

Gruß Hexerl :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Wenn du keine „Fehlerabhängigkeit“ wünschst … Befehl2 also auf jeden Fall durchgeführt werden muss - egal was Befehl1 fabriziert … geht auch ein einfaches „&“ … also :

& &

echo 123 > x.txt & echo 345 >> x.txt & echo 678 >> x.txt

ergibt in x.txt die zeilen :

123
345
678

noch ein Gruß
Hexerl :smile:

echo 123 > x.txt & echo 345 >> x.txt & echo 678
>> x.txt

ergibt in x.txt die zeilen :

123
345
678

Haste nicht probiert, stimmts? Funktioniert nämlich nicht. Aber will unbedingt in einer Zeile haben! Kann ich jetzt schwer hier erklären, zumindest habe ich nur eine Zeile. Und eine andere Datei ausgeben (type x.txt > y.txt) solls nicht werden.

mfg Slick

Nachtrag! s.u.
Laufen soll das in einer DOS-Box in Win98, nicht NT

mfg Slick

echo 123 > x.txt & echo 345 >> x.txt & echo 678
>> x.txt

ergibt in x.txt die zeilen :

123
345
678

Haste nicht probiert, stimmts? Funktioniert nämlich nicht.

DOCH hab ich probiert, sonst hätt ichs hier nicht geschrieben - um Schrott zu schreiben ist mir meine Zeit nämlich zu schade … kann nur sein, dass die DOS-Box unter win98 das nicht beherrscht - deswegen hab ich auch gesagt unter NT gehts …

Aber will unbedingt in einer Zeile haben! Kann ich jetzt
schwer hier erklären, zumindest habe ich nur eine Zeile. Und
eine andere Datei ausgeben (type x.txt > y.txt) solls nicht
werden.

… dann versuch halt einfach mal GENAU zu sagen, was du willst incl. ENGABE und AUSGABE :frowning: ich hatte verstanden in EINER Zeile mehrere Befehle, die etwas in eine DOS-Datei hineinschreiben … Ergebnis s.o.

Hi Slick
Wo hast Du denn Deine Eingabedaten ?
Liegen die als Datei vor oder kommen die von der Tastatur ?
für den ersten Fall geht

copy [+ [+ [...]]] 

Beachte das Plus-Zeichen!
Für den 2. Fall geht auch

copy con 

Aber vermutlich möchtest Du das CR am Zeilenende strippen, oder ?
Gruß
AD

OK

echo 123 > x.txt & echo 345 >> x.txt & echo 678
>> x.txt

ergibt in x.txt die zeilen :

123
345
678

… dann versuch halt einfach mal GENAU zu sagen, was du
willst incl. ENGABE und AUSGABE :frowning: ich hatte verstanden in
EINER Zeile mehrere Befehle, die etwas in eine DOS-Datei
hineinschreiben … Ergebnis s.o.

ist schon richtig wie du es zuerst verstanden hast. s.o.

eine Zeile mit Befehlen um mehrzeilige Ausgabe zu haben

mfg Uwe

Hallo Hexerl,
kennst Du eine Möglichkeit, das Ergebnis mehrerer Aufrufe (sie dürfen auch in einer Zeile stehen) in eine Zeile zu bringen? Also:
echo 123 > x.txt echo 345 >> x.txt
Ergebnis:
123 345

Gruß

J.

& &

echo 123 > x.txt & echo 345 >> x.txt & echo 678
>> x.txt

ergibt in x.txt die zeilen :

123
345
678

… also das würd ich mir viel einfacher machen *giggel*

echo 123 345 … > x.txt

-)))) *kicher*
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,
in einem dos.batch unter win98 klappt folgendes:
for %%1 in ( 123 456 789) do echo %%1 >> x.txt
Es ergibt in x.txt

123
456
789

Klappt auch wenn x.txt noch nicht existiert.
mfg
olala

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

GENIAL
Einfach genial, warum ich da nicht selber drauf gekommen bin…

mfg Slick

Danke für das Lob :smile: o.T.

Einfach genial, warum ich da nicht selber drauf gekommen
bin…

mfg Slick