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-ID: 57337

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

GODOFWAR
GODOFWAR 23.04.2007 um 13:06:34 Uhr
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
bastla
bastla 23.04.2007 um 14:55:09 Uhr
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]
bufferm44
bufferm44 23.04.2007 um 15:24:05 Uhr
Goto Top
Hm, dann muss ich das so über die zweite Datei machen, trotzdem danke.
GODOFWAR
GODOFWAR 23.04.2007 um 16:23:05 Uhr
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
bastla
bastla 23.04.2007 um 17:49:11 Uhr
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
alexkl
alexkl 24.04.2007 um 08:31:38 Uhr
Goto Top
Hello,

oder so:

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


gruss daheim...

ak
Bjoern909
Bjoern909 01.04.2008 um 14:48:56 Uhr
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
bastla
bastla 01.04.2008 um 15:50:46 Uhr
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