Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Leerzeile aus txt-Datei löschen

Mitglied: ManneKL

Leerzeile löschen

Hallo,
mit welchen Patch-Befehl kann ich aus mehreren .txt-Dateien immer die dritte Zeile (Leerzeile)rauslöschen?Oder kann ich es mit einen CMD-Befehl z.Bsp:
for /f %i in ('dir /b *.txt') do findstr /b /v "" %i
Komme leider zu keinen brauchbaren Ergebnis.

Danke
MK

Content-Key: 33101

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

Ausgedruckt am: 02.12.2021 um 11:12 Uhr

Mitglied: Schirrmeister
Schirrmeister 23.05.2006 um 15:07:39 Uhr
Goto Top
Du kannst erst die ersten beiden Zeilen in eine andere Datei schreiben, und dann mit

for /F "skip=3 delims=" %%I in ( datei.txt ) do ( echo %%I>>datei_neu.txt )

den Rest ab der 4. Zeile...
Das delims= löscht die Trennzeichen, damit sollte die ganze Zeile in der Variable stehen.
Mitglied: gogoflash
gogoflash 23.05.2006 um 15:19:01 Uhr
Goto Top
Hi,


wenn alle Leerzeilen entfernt werden sollen.

for /f %%i in ('dir /b *.txt') do findstr . %%i >> neu%%i

Gruß Miguel
Mitglied: ManneKL
ManneKL 23.05.2006 um 15:27:50 Uhr
Goto Top
Hi Schirrmeister,
bringt Fehler:"%%I" ist syntaktisch an dieser Stelle nicht verarbeitbar.
bei
for /F "skip=4 delims=" %%I in ( *.txt ) do ( echo %%I>>*_neu.txt )

Habe mehrere txt-Dateien ,
Sorry, betrifft in diesen Dateien die vierte Zeile(Leerzeile).

Danke
MK
Mitglied: gogoflash
gogoflash 23.05.2006 um 15:33:11 Uhr
Goto Top
Hi,


Das Problem mit dieser FOR Schleife ist, dass sie bei einem Auftauchen einer zweiten Leeren Zeile strandet. Da %%i nicht definiert ist und die Schleife nicht initalisiert wird.

Meine Frage ist muss den nur die 4te Leerzeile entfernt werden oder können es alle sein.


Ist zwar nett gemeint, aber bricht sich das Genick.

Gruß Miguel
Mitglied: ManneKL
ManneKL 23.05.2006 um 15:38:46 Uhr
Goto Top
Hi Miguel,

ja nur die vierte Zeile aus jeder txt-Datei.
Gruß
MK
Mitglied: gogoflash
gogoflash 23.05.2006 um 15:54:36 Uhr
Goto Top
Hi,

hiermit sollte es gehen.


Zu deinem Code:
Der erinnert mich an meinen Anfang mit Batch. Da hast Du einiges durcheinander gebracht.


for /F "skip=4 delims=" %%I in ( *.txt ) do ( echo %%I>>*_neu.txt )

1) *.txt ist nicht verarbeitbar für die Schleife, da *.txt kein Befehl ist.
deshalb dir /b *.txt
2) dir /b *.txt liefert Dir einen Dateinamen. Da ist es noch essig mit Schneiden, da könnest Du höchstens etwas aus dem Dateinamen ausschneiden. Für andere Zwecke brauchbar.
Deshalb Übergabe des Dateinamens an die 2 FOR Schleife
3) Mit Findstr und der Prüfung der Zeilenzahl wird das unsaubere Herausspringen aus der FOR Schleife verhindert, wenn es auf eine Leerzeile trifft.
for /f %%a in ('....') DO kann bei einer Leerzeile die Variable %%a nicht setzen.
4) Der Rest mit more sollte klar sein.
5) Delims wird nicht gebraucht, da Du die gesamte Zeile haben willst.Ausser für die Zeilennummer.


Übrigens mein Code kann bestimmt von einem Profibatcher noch weiter eingedampft werden.Und es gibt Tools die die Zeile ohne Probleme löschen können. Zb sed .
Aber das führt jetzt zuweit.

Gutes batch Tutorial unter:
https://www.administrator.de/Workshop_Batch_for_Runaways_-_Part_2_Ein_bi ...

Gruß Miguel
Mitglied: ManneKL
ManneKL 24.05.2006 um 06:25:50 Uhr
Goto Top
Hi Miguel,

vielen herzlichen Dank für Deine Lösung.
Sie funktioniert und ich kann sie noch weiter ausbauen.

Also, Danke
MK
Mitglied: ManneKL
ManneKL 24.05.2006 um 06:25:56 Uhr
Goto Top
Mitglied: ManneKL
ManneKL 24.05.2006 um 06:26:00 Uhr
Goto Top
Mitglied: ManneKL
ManneKL 24.05.2006 um 07:01:37 Uhr
Goto Top
Hi Miguel,

noch eine nachfolgende Frage:
Wie kann ich aus den neu entstandenen txt-Dateien anschließend wieder die Ursprungs-Bezeichnung (XXXXXXXX.txt)dieser txt-Dateien erzeugen?Weil nach Ablauf der Prozedur immer vor den Dateien die Bezeichnung "neuXXXXXXXX.txt" gesetzt wird.
Zum Schluß will ich diese txt-Dateien auch noch in einen neuen Ordner kopieren und in dem Ursprungsodner sollen alle Dateien als Kopie erhalten bleiben die ich später löschen will.
Vielleich kannst Du mir noch mal helfen

Danke
MK
Mitglied: gogoflash
gogoflash 24.05.2006 um 10:12:26 Uhr
Goto Top
Hi,


eine Version ohne Zwischendatei. Die korrogierte Datei wird sofort in einen neuen Ordner erstellt.

Gruß Miguel
Heiß diskutierte Beiträge
imho
Wir müssen über Corona und das Impfen redenFrankVor 3 StundenIMHOOff Topic40 Kommentare

Ich denke, dass geht uns alle an und daher will ich meinen Beitrag dazu leisten, um über Corona und das Impfen aufzuklären. Ich habe bereits ...

info
Windows Defender Fehlalarm Emotet.SBDerWoWussteVor 1 TagInformationViren und Trojaner

Moin. Es sieht so aus, als wäre gestern Abend ein False Positive über den Defender erkannt worden. Seit AV Version 1.353.1888.0 ist wieder Ruhe. Beispielmeldung: ...

general
David Kriesel: Traue keinem Scan, den du nicht selbst gefälscht hast - Immer noch aktuell aber andersStefanKittelVor 1 TagAllgemeinSicherheitsgrundlagen6 Kommentare

Hallo, dies ist keine Frage. Nur ein einfacher Beitrag. Ich habe vor ein paar Jahren dieses Video von einem Vortrag von David Kriesel gesehen. Darin ...

question
Vollbackup von NAS auf wechselnde FestplatteninstallerVor 1 TagFrageBackup11 Kommentare

Hallo, ich suche nach einem Weg um ein Vollbackup einer NAS (QNAP oder Synology) auf wechselnde Festplatten zu machen. Es geht darum das die externe ...

question
Keine Verbindung vom Switch zum SIP-PhonebubblegunVor 1 TagFrageNetzwerke17 Kommentare

Es ist mir wirklich ein Rätsel und ich weiß nicht wo ich anfangen soll! Das Problem: An meinem POE-Switch hängen einige Geräte die einwandfrei funktionieren. ...

info
Neue Open-Source-Firewall: DynFiC.R.S.Vor 1 TagInformationFirewall5 Kommentare

DynFi kannte ich seit einiger Zeit als zentrale Verwaltungssoftware für pfSense und OPNsense. Das französische Unternehmen hat aber auch kürzlich seinen OPNsense-Fork "DynFi Firewall" veröffentlicht: ...

question
Site2Site langsam SMBitisnapantoVor 1 TagFrageWindows Netzwerk16 Kommentare

Guten Morgen zusammen, Ich komme gerade irgendwie nicht weiter, oder sehe den Wald vor lauter Bäumen nicht. Aber vielleicht hat einer von euch einen Wink ...

general
Neues Mitglied Vorstellung - Wir sind die Web+PhoneWebplusPhoneVor 1 TagAllgemeinZusammenarbeit2 Kommentare

Hallo liebe Community wir sind neu auf dieser Plattform und möchten mit euch Probleme lösen und diskutieren. Doch bevor wir mit unseren Beiträgen starten, gibt ...