Text in Zeile löschen
Bestimmte Zeilenanfänge löschen
Hallo zusammen,
ich suche schon seit geraumer Zeit nach einer Lösung für das Problem , fand sie aber nur teilweise oder der Output war nicht zufriedenstellend.
Ich hoffe mir kann jemand helfen.
Problem:
Ich habe ca. 300 .txt Dateien. In diesen Dateien möchte ich die Zeilen welche mit IF und/oder FOR beginnen löschen.
Der Dateiname MUSS dabei in der Ausgabedatei zwingend derselbe sein.
ich suche schon seit geraumer Zeit nach einer Lösung für das Problem , fand sie aber nur teilweise oder der Output war nicht zufriedenstellend.
Ich hoffe mir kann jemand helfen.
Problem:
Ich habe ca. 300 .txt Dateien. In diesen Dateien möchte ich die Zeilen welche mit IF und/oder FOR beginnen löschen.
Der Dateiname MUSS dabei in der Ausgabedatei zwingend derselbe sein.
Please also mark the comments that contributed to the solution of the article
Content-Key: 82171
Url: https://administrator.de/contentid/82171
Printed on: April 20, 2024 at 01:04 o'clock
3 Comments
Latest comment
Schonmal mit ner Batch versucht?
Mal ungetestet so ungefär:
miniversum
Mal ungetestet so ungefär:
@echo off
set "quelle=C:\verzeichnis mit den orginaldateien"
set "ziel=C:\verzeichnis mit den neuen Dateien"
FOR /F "delims=" %%f in ('dir /B /a-d "%quelle%"') do (
echo Verarbeite: "%%~nxf"
if exist "%ziel%\%%~nxf" del "%ziel%\%%~nxf"
for /f "tokens=1* delims=:" %%k in ('findstr /n $ "%%~ff"') do
(
((echo.%%l^|findstr /B /I "IF">NUL)||(echo.%%l^|findstr /B /I "FOR">NUL))||echo.%%l>>"%ziel%\%%~nxf"
)
)
miniversum
Hallo kamel2008 und willkommen im Forum!
Grüße
bastla
Der Dateiname MUSS dabei in der Ausgabedatei zwingend derselbe sein.
Soferne Du damit meinst, dass die neue Datei die alte Version ersetzen soll, dann etwa so:@echo off & setlocal
for %%i in (D:\DeinOrdner\*.txt) do (
findstr /v /b /i "IF FOR" "%%~fi">"%%~fi.bak"
move "%%~fi.bak" "%%~fi"
)
Grüße
bastla