bufferm44
Goto Top

Zeile aus Batchdatei löschen

Die in der Suche gefundenen Lösungsansätze funktionieren leider nicht.

Hallo!

Ich versuche gerade krampfhaft aus einer Textdatei eine vorhandene (mir immer inhaltlich komplett bekannte) Zeile ersatzlos herauszulöschen.

Gegeben sei die Datei:

datei.txt

mit dem Inhalt:

Dies ist Zeile eins.
Und dies ist Zeile zwei.
Ja das ist Zeile drei.

Jetzt möchte ich die (irgendwo in der Datei stehende) Zeile mit dem Inhalt "Und dies ist Zeile zwei." löschen.

Folgendes habe ich durch die Suche gefunden und probiert:

1.
find /v /i "Und dies ist Zeile zwei." datei.txt >datei.txt

bringt folgendes Ergebnis:

T1.txt

steht nun in der Datei, alle andere was drin stand ist weg.

2.
type Datei.txt | find "Und dies ist Zeile zwei." >Datei.txt

Nun ist die Datei komplett leer face-sad


Wo ist mein Denkfehler?

Content-Key: 54777

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

Printed on: April 20, 2024 at 03:04 o'clock

Mitglied: 45426
45426 Mar 22, 2007 at 11:41:37 (UTC)
Goto Top
> Wo ist mein Denkfehler?
du überschreibst mit ">datei.txt" die Quelldatei. face-wink
Mitglied: 36539
36539 Mar 22, 2007 at 12:05:24 (UTC)
Goto Top
.... datei.txt > datei.txt

dreh das ">" um zu "< datei.txt"

onegasee59
Member: bufferm44
bufferm44 Mar 22, 2007 at 14:58:42 (UTC)
Goto Top
Moin!
Danke erstmal für die Hilfe. Leider funktioniert es immer noch nicht, es sieht so aus als ob der verbleibende Inhalt zwar angezeigt wird, jedoch nicht in das file zurückgeschrieben wird.

Bei Ausführung der Batch sehe ich folgendes:

c:\>find /v /i "Zeile2" c:\datei.txt 0<c:\datei.txt

c:\DATEI.TXT
Zeile1
Zeile3

c:\>pause
Drücken Sie eine beliebige Taste...
Member: Biber
Biber Mar 22, 2007 at 15:26:07 (UTC)
Goto Top
Moin bufferm44,

dann eben so:
type c:\datei.txt|find /v /i "Zeile2" >temp.txt && move /y temp.txt c:\datei1.txt  

Gruss
Biber
Mitglied: 45426
45426 Mar 22, 2007 at 16:32:25 (UTC)
Goto Top
Und warum nimmst du statt Temp nicht gleich Datei1 oder verschiebst Temp auf Datei? face-big-smile face-big-smile
Member: Biber
Biber Mar 22, 2007 at 16:37:38 (UTC)
Goto Top
Und warum nimmst du statt Temp nicht gleich Datei1 oder verschiebst Temp auf Datei?
Och, ich dachte, wenn ich schon einen Oneliner schreibe, dann kann ich doch auch die ganze Bildschirmbreite ausnutzen...

Sind doch alles recyclebare Elektronen, mit denen ich meine Bätche speichere, da brauch ich nicht so kleinlich sein....

Grüsse
Biber
Mitglied: 45426
45426 Mar 22, 2007 at 16:58:15 (UTC)
Goto Top
@bufferm44

Danke erstmal für die Hilfe. Leider funktioniert es immer noch nicht, es sieht so
aus als ob der verbleibende Inhalt zwar angezeigt wird, jedoch nicht in das file
zurückgeschrieben wird.

Kann ja auch nicht. Wenn der Tippgeber seinen Tipp wenigstens mal ausprobiert hätte ......
Mitglied: 36539
36539 Mar 22, 2007 at 19:20:14 (UTC)
Goto Top
@45426
Ja Sorry, ich hatte mich nur blind auf die Bildschirmausgabe verlassen und dachte das ihm
ein:
---------- DATEI.TXT
Zeile1
Zeile3
reicht, habe aber nicht den wirklichen Inhalt der datei.txt geprüft.

@bufferm44
Entschuldigung

onegasse59
Member: bufferm44
bufferm44 Mar 24, 2007 at 16:43:12 (UTC)
Goto Top
Moin!
Macht nix ;)

Die Zeile vom Biber hat super funktioniert, vielen Dank!
Das eine "&" habe ich rausgenommen.

Grüße

Tobias