Batch Befehl zum Löschen von den letzten vier Zeilen mehrerer txt.-Dateien
Hallo Community,
leider weiß ich bezüglich einer Batch-Dateizum Löschen von den letzten vier Zeilen mehrerer txt.-Dateien nicht mehr weiter.
Es sollen Datensätze à 1000 txt.-Dateien bearbeitet werden. Einen Ansatz zum Löschen der letzten Zeile habe ich gefunden, doch das Einlesen und Bearbeiten der 1000 Dateien bereitet mir Probleme. Ich suche eine For-Schleife, welche mir die Dateien (hier in meinem Fall: 1.txt, ..., 1000.txt), welche alle in einem Ordner liegen, hochzählt, dort die letzten 4 Zeilen löscht und diese wieder speichert.
Mein Batch zum Löschen der letzten Zeile sieht wie folgt aus:
Mir fehlt wie gesagt eine for-Schleife, welche mir alle Daten einzeln einließt, die letzten 4 Zeilen löscht und die txt. wieder speichert.
Eure Hilfe wäre sehr praktisch!
leider weiß ich bezüglich einer Batch-Dateizum Löschen von den letzten vier Zeilen mehrerer txt.-Dateien nicht mehr weiter.
Es sollen Datensätze à 1000 txt.-Dateien bearbeitet werden. Einen Ansatz zum Löschen der letzten Zeile habe ich gefunden, doch das Einlesen und Bearbeiten der 1000 Dateien bereitet mir Probleme. Ich suche eine For-Schleife, welche mir die Dateien (hier in meinem Fall: 1.txt, ..., 1000.txt), welche alle in einem Ordner liegen, hochzählt, dort die letzten 4 Zeilen löscht und diese wieder speichert.
Mein Batch zum Löschen der letzten Zeile sieht wie folgt aus:
@Echo Off
SetLocal DisableDelayedExpansion
Set "SrcFile=1.txt"
If Not Exist "%SrcFile%" Exit /B
Copy /Y "%SrcFile%" "%SrcFile%.bak">Nul 2>&1||Exit /B
( Set "Line="
For /F "UseBackQ Delims=" %%A In ("%SrcFile%.bak") Do (
SetLocal EnableDelayedExpansion
If Defined Line Echo !Line!
EndLocal
Set "Line=%%A"))>"%SrcFile%"
EndLocal
Exit /B
Mir fehlt wie gesagt eine for-Schleife, welche mir alle Daten einzeln einließt, die letzten 4 Zeilen löscht und die txt. wieder speichert.
Eure Hilfe wäre sehr praktisch!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 439455
Url: https://administrator.de/forum/batch-befehl-zum-loeschen-von-den-letzten-vier-zeilen-mehrerer-txt-dateien-439455.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
4 Kommentare
Neuester Kommentar

@echo off
set "quelle=D:\Ordner"
powershell -Executionpolicy Bypass -NoP -C "gci '%quelle%' -Filter *.txt | %%{($f = gc $_.Fullname)[0..($f.count - 5)] | sc $_.Fullname}"

Hauptsächlich aus dem Grund da es ja so Kandidaten gibt die nicht wissen was damit anzufangen ist wenn die Zeile da nicht steht, oder sich dann beschweren das was in der Ausgabe steht was sie nicht möchten
.
Im Endeffekt ist es ja eine Batch. Ob sich die Batch da nun noch mit Hilfsmittel anderer Art bedient ist doch Jacke wie Hose wenn der Jung es nicht in seine Bedingungen schreibt
....
Im Endeffekt ist es ja eine Batch. Ob sich die Batch da nun noch mit Hilfsmittel anderer Art bedient ist doch Jacke wie Hose wenn der Jung es nicht in seine Bedingungen schreibt