PDA

Показать полную графическую версию : Удаление строк из txt файлов


Страниц : 1 [2]

megaloman
12-10-2022, 20:04
John87, На Вашем примере вроде бы отрабатывает. Я попробовал отсечь цифровую подпись - вывожу в файл только строки, содержащие : (двоеточие) Set KeyWord=^|find /I ":"^|find /V /I "files not found"^|find /V /I "Обработано.записей"^|find /V /I "error file size"
Не знаю, насколько корректно. Или # Set KeyWord=^|find /I "#"^|find /V /I "files not found"^|find /V /I "Обработано.записей"^|find /V /I "error file size"

John87
13-10-2022, 06:45
megaloman, в принципе меня устраивает, как работает вариант
cls
>nul chcp 1251
Set "BoxIn=D:\test1"
Set "Log=*.log"
Set "ShortLogs=D:\test1\ShortLog"

Set KeyWord=^|find /V /I "Обработано.записей.статусов"^|find /V /I "затрачено"

If Not Exist "%ShortLogs%\*.*" Md "%ShortLogs%"

FOR /F "usebackq skip=1 delims=" %%d IN (`2^>nul Dir "%BoxIn%" /A:D /O:-D /T:C /B`) DO (
Echo "%BoxIn%\%%d\%%d"
If Not Exist "%ShortLogs%\%%d.txt" (
2>nul >>"%ShortLogs%\%%d.txt" (Type "%BoxIn%\%%d\%Log%"%KeyWord%)
)
)
:End
pause
Exit /B
я пока убрал goto exit и delete
в этом синтаксисе можно эти строки оставить но отменить? решеткой или еще как? чтоб файл был готов, и требовал минимальных изменений, а то забуду ведь (
кстати если я добавляю их в нынешний вариант, он ничего не удаляет и делает только один самый старый лог (




© OSzone.net 2001-2012