Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Leerzeile aus txt-Datei löschen

Mitglied: ManneKL

ManneKL (Level 1) - Jetzt verbinden

23.05.2006, aktualisiert 24.05.2006, 8011 Aufrufe, 11 Kommentare

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
Mitglied: Schirrmeister
23.05.2006 um 15:07 Uhr
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.
Bitte warten ..
Mitglied: gogoflash
23.05.2006 um 15:19 Uhr
Hi,


wenn alle Leerzeilen entfernt werden sollen.

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

Gruß Miguel
Bitte warten ..
Mitglied: ManneKL
23.05.2006 um 15:27 Uhr
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
Bitte warten ..
Mitglied: gogoflash
23.05.2006 um 15:33 Uhr
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
Bitte warten ..
Mitglied: ManneKL
23.05.2006 um 15:38 Uhr
Hi Miguel,

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

hiermit sollte es gehen.

01.
REM Erstmal Dateien einlesen
02.
REM Aufrufen der Subroutine Sub und übergabe des Dateinamens.
03.
for /f %%a in ('dir /b *.txt') DO call :sub %%a
04.

05.
REM goto End Of File, wenn FOR Schleife durchgelaufen ist
06.
goto :eof
07.

08.
:sub
09.

10.
REM Bis einschließlich Zeile 3 ausgeben. Zeilenzahl wird aus findstr gefischt.
11.
REM findstr /N gibt 1:tertert aus.
12.
REM Deshalb : als Token
13.

14.
for /F "delims=: tokens=1,2" %%a in ('findstr /N . %1') do IF %%a LEQ 3 echo %%b >> neu%1
15.

16.
REM Jetzt geben wir den Rest aus mit more. Ab der 4ten Zeile
17.
REM also erst die 5 usw wird ausgegeben.
18.
more +4 %1 >> neu%1
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
Bitte warten ..
Mitglied: ManneKL
24.05.2006 um 06:25 Uhr
Hi Miguel,

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

Also, Danke
MK
Bitte warten ..
Mitglied: ManneKL
24.05.2006 um 06:25 Uhr
Bitte warten ..
Mitglied: ManneKL
24.05.2006 um 06:26 Uhr
Bitte warten ..
Mitglied: ManneKL
24.05.2006 um 07:01 Uhr
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
Bitte warten ..
Mitglied: gogoflash
24.05.2006 um 10:12 Uhr
Hi,


eine Version ohne Zwischendatei. Die korrogierte Datei wird sofort in einen neuen Ordner erstellt.
01.
REM Hier geändert
02.
set quellpfad=d:\a\1
03.
set zielpfad=d:\a\2
04.

05.
REM Erstmal Dateien einlesen
06.
REM Aufrufen der Subroutine Sub und übergabe des Dateinamens.
07.
for /f %%a in ('dir /b %quellpfad%\*.txt') DO call :sub %%a
08.

09.
REM goto End Of File, wenn FOR Schleife durchgelaufen ist
10.
goto :eof
11.

12.
:sub
13.
echo %1 >> ert.txt
14.

15.
REM Bis einschließlich Zeile 3 ausgeben. Zeilenzahl wird aus findstr gefischt.
16.
REM findstr /N gibt 1:tertert aus.
17.
REM Deshalb : als Token
18.

19.
REM Ausgabe in den neuen Pfad mit alten Namen
20.
for /F "delims=: tokens=1,2" %%a in ('findstr /N . %quellpfad%\%1') do IF %%a LEQ 3 echo %%b >> %zielpfad%\%~nx1
21.

22.
REM Jetzt geben wir den Rest aus mit more. Ab der 4ten Zeile
23.
REM also erst die 5 usw wird ausgegeben.
24.

25.
REM Aus Quellpfad in den Zielpfad auslesen. Von +4
26.
more +4 %quellpfad%\%1 >> %zielpfad%\%1
Gruß Miguel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch : TXT-Datei auslesen
gelöst Frage von Newplay123Batch & Shell20 Kommentare

Hallo, ich habe eine Textdatei mit dem Inhalt " "Test" ". Also die zweiten Anführungszeichen sind auch mit in ...

Batch & Shell

Inhalt einer txt Datei pro Zeile in je neue txt Datei

gelöst Frage von sanshineBatch & Shell4 Kommentare

Servus, ich habe mehrer txt Dateien. In ihnen stehen manchmal 1 Zeile, manchmal 20 Zeilen. Ich möchte, dass ein ...

Batch & Shell

Merkwürdige Zeilenformatierung in txt Datei

gelöst Frage von miczarBatch & Shell3 Kommentare

Hallo zusammen, ich arbeite mit .cxv Dateien. Das ist nichts anderes wie .txt Dateien nur mit Programmspezifischer Endung. Pro ...

Windows 7

Txt Datei mit findstr durchsuchen

gelöst Frage von 126594Windows 72 Kommentare

Hallo zusammen! Leider komme ich gerade an meine Grenzen und weiß nicht mehr weiter, jetzt hoffe ich hier, den ...

Neue Wissensbeiträge
Windows Server

Windows Server 2016 Suche nicht funktioniert ist ausgegraut Windows Server 2016 Search not work

Erfahrungsbericht von Wano347 vor 18 StundenWindows Server

Hallo Leute, wir haben vor kurzem ein Problem gehabt: Windows Server 2016 frisch installiert. Nach Checkliste konfiguriert (sieht vor ...

Microsoft Office

Microsoft geht nun rechtlich gegen Lizengo vor - Billig Software

Information von takvorian vor 19 StundenMicrosoft Office5 Kommentare

Hallo zusammen, eben auf CRN gefunden, weis nicht ob das schon wer gepostet hat Microsoft verklagt Lizengo Gruß Tak

Firewall
Übernahme von SOPHOS durch Thoma Bravo
Information von Dilbert-MD vor 1 TagFirewall3 Kommentare

Kam die Tage per Newsletter: Zitat: " Das Sophos Board of Directors hat gestern bekanntgegeben, dass die Private-Equity-Investment-Firma Thoma ...

Windows Netzwerk

Ereignis-ID 20226 RasClient Ursachencode 829 VPN Verbindung wird abgebrochen

Anleitung von Hardstyles vor 7 TagenWindows Netzwerk

Hallo zusammen, nach Stundenlanger Analysen und test konnten wir den Fehler Lösen. es geht um folgende Fehler Meldung in ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
Was tun, wenn der Chef seine eigenen IT-Regeln nicht durchsetzt?
gelöst Frage von Bl0ckS1z3Sicherheitsgrundlagen22 Kommentare

Hallo Admins, im Zuge der DSGVO haben wir in unserem Unternehmen mit dem Datenschutzbeauftragten ein neues IT-Nutzerhandbuch erstellt. Hier ...

CPU, RAM, Mainboards
Kein Bild mit neuem Mainboard
Frage von Ghost108CPU, RAM, Mainboards20 Kommentare

Hallo zusammen, habe einen PC mit 4 RAM Riegeln, einer Intel CPU 1151 Socket und einem Mainboard Asus B150M-A/M.2 ...

Windows 10
Win 10 - Seltsame popups die nerven
Frage von BigSnakeyeWindows 1019 Kommentare

Hallöchen! An einem Win 10 Notebook habe ich Probleme mit extrem nervigen Popups rechts unten in der Ecke. Dort ...

Windows 10
Windows 10 Workstation zum Musikmachen für ultra-low-latency (ca. 0,7ms)
Frage von psy-tekWindows 1018 Kommentare

Hallo. Ich benutze meinen DAW Rechner hauptsächlich, als Effektgeräte und Klangerzeuger mit sehr kurzen Latenzen. (Damit man gar nicht ...