2495778799
Goto Top

Für alle txt Dateien im Ordner letzte Zeile-Zeilen löschen

Hallo ich benötige Hilfe bei einem Automatisierungsprozess.

Besteht die Möglichkeit, das eine .bat Datei für alle im Ordner enthaltenen .txt Dateien automatisch nacheinander die Letzte Zeile/zwei Zeilen löscht?
.bat Datei und .txt Dateien sind im selben Ordner.

Ich habe bereits folgenen Code vom User "Bastla" gefunden:
@echo off & setlocal
set "Datei=D:\List.txt"  
set "Entf=2"  
set "Bak=bak"  

set Anzahl=0
for /f "delims=:" %%i in ('findstr /n "^" "%Datei%"') do set Anzahl=%%i  
set /a Bis=%Anzahl%-%Entf%

if %Bis% leq 0 (
    echo Die Datei "%Datei%" enthaelt zu wenig Zeilen!  
    goto :eof
)

move "%Datei%" "%Datei%.%Bak%"  
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Datei%.%Bak%"') do if %%i leq %Bis% (>>"%Datei%" echo\%%j)  

der Code funktioniert. Die letzten 2 Zeilen werden gelöscht und es wird zusätzlich eine Sicherheitskopie erstellt. Jedoch muss man den Pfad der .txt Datei einzeln eintragen.

Vielen Dank für die Hilfe

Content-Key: 2537082411

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

Printed on: May 4, 2024 at 11:05 o'clock

Mitglied: 1915348599
Solution 1915348599 Apr 19, 2022 updated at 11:12:04 (UTC)
Goto Top
@echo off &setlocal
set "scriptdir=%~dp0"  
powershell -EP Bypass -C "dir '%scriptdir%' -File -Filter *.txt  | %%{(Get-Content $_.Fullname) | select -SkipLast 2 | Set-Content $_.Fullname}"  
Hallo ich benötige Hilfe bei einem Automatisierungsprozes
Da gehört ja langsam aber sicher ein "powered by administrator.de" drunter ... face-big-smile 🖖
Mitglied: 2495778799
2495778799 Apr 19, 2022 at 11:14:40 (UTC)
Goto Top
Vielen Dank es hat funktioniert face-big-smile
Mitglied: 2495778799
2495778799 Apr 19, 2022 at 11:19:58 (UTC)
Goto Top
Zitat von @1915348599:
Hallo ich benötige Hilfe bei einem Automatisierungsprozes
Da gehört ja langsam aber sicher ein "powered by administrator.de" drunter ... face-big-smile 🖖

grin-squint