bufferm44
Goto Top

Per Batch Text in die ERSTE Zeile einer Textdatei schreiben

Hallo! Auch wenn es viele ähnliche Themen hier gibt - die Lösung für dieses vermutlich recht einfache Problem konnte ich leider nicht finden.

Gibt es eine elegante Möglichkeit mit

echo >> ...

eine Textzeile in die ERSTE Zeile einer Textdatei zu schreiben?

Klar man könnte es machen indem man wenn man z.B. in die datei a.txt schreiben möchte erst alles aus a.txt in b.txt, dann echo > in a.txt und dann aus b.txt alles wieder zurückschaufeln aber das sieht mir eher nach einer Krücke aus face-sad

Vielen Dank für Eure Hilfe

Content-Key: 57337

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

Printed on: April 19, 2024 at 06:04 o'clock

Member: GODOFWAR
GODOFWAR Apr 23, 2007 at 11:06:34 (UTC)
Goto Top
also ich würde es so machen


TEXT A
TEXT B - wird nach text C verschoben
TEXT A - Wird nach b verschoben
TEXT C - wird nach B verschoben.

wobei das nicht sehr elegant wäre. hmm mir fällt sonst immom nichts besseres ein syr

mfg godofwar
Member: bastla
bastla Apr 23, 2007 at 12:55:09 (UTC)
Goto Top
Hallo bufferm44!

IMHO wirst Du um eine Temp-Datei ("b.txt") nicht herumkommen. Je nachdem, ob die neue erste Zeile zusätzlich oder als Ersatz der derzeitigen ersten Zeile verwendet wird, könnte der Ablauf etwa so aussehen:
(echo Zusätzliche erste Zeile)>b.txt && type a.txt>>b.txt && move /y b.txt a.txt
oder
(echo Ersatz für erste Zeile)>b.txt && type a.txt|more +1>>b.txt && move /y b.txt a.txt

Grüße
bastla

P.S.: Kürzer könnte ich's nur, wenn ich die Leerstellen vor und nach "&&" weg ließe ... face-wink
[Edit] Das "/y" nach "move" ließe sich auch noch einsparen. [/Edit]
Member: bufferm44
bufferm44 Apr 23, 2007 at 13:24:05 (UTC)
Goto Top
Hm, dann muss ich das so über die zweite Datei machen, trotzdem danke.
Member: GODOFWAR
GODOFWAR Apr 23, 2007 at 14:23:05 (UTC)
Goto Top
hmm du könntest am ende noch

del a.txt oder

del b.txt anhängen dann wird diese wieder gelöscht somit hättest du nur eine.

MFG GODOFWAR
Member: bastla
bastla Apr 23, 2007 at 15:49:11 (UTC)
Goto Top
@GODOFWAR

"a.txt" ist das Ergebnis und "b.txt" gibt's nicht mehr ... (außer, es wäre zwischendurch ein Fehler passiert - aber dann würde ich vorläufig auch nicht löschen wollen).

Grüße
bastla
Member: alexkl
alexkl Apr 24, 2007 at 06:31:38 (UTC)
Goto Top
Hello,

oder so:

copy a.txt+b.txt a.txt /b


gruss daheim...

ak
Member: Bjoern909
Bjoern909 Apr 01, 2008 at 12:48:56 (UTC)
Goto Top
Hi,
Ich habe es jetzt noch nicht getestet aber vielleicht geht es hiermit:
For /F "delims=" %%i in (a.txt) do set text=%%i  
echo Deine Zeile>a.txt
echo.%text%>>a.txt
Member: bastla
bastla Apr 01, 2008 at 13:50:46 (UTC)
Goto Top
Hallo Bjoern909!

Einmal unabhängig davon, ob bufferm das demnächst am Jahrestag einsetzen möchte - meinst Du, er wäre damit zufrieden, dass seine neue Datei aus der neuen ersten und der alten letzten Zeile bestünde? (Oder ist das nur Dein Beitrag zum heutigen Datum? face-wink).

Übrigens empfiehlt es sich, anstelle von
echo.
besser
echo\
zu verwenden ...

Grüße
bastla