Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление строк из txt файлов

Ответить
Настройки темы
CMD/BAT - Удаление строк из txt файлов

Новый участник


Сообщения: 42
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: John87
Дата: 30-09-2022
День добрый, помогите решить одну задачку..
в поиске что то не смог найти что нужно (

в общем есть папка Logs, внутри каждый день создается папка с нов датой, и каждый день пишутся файлы в формате txt с датой в названии, суть логов сводится к тому что 99% строк занимает
[2000001] дата время files not found
[2000095] дата время files not found

и иногда проскакивает в лог что файл отправлен
[2000156] дата время file 80009547.dat has been sent

ну бывает конечно и таое что файл слишком большой допустим
[2000042] дата время error file size

ну что то примерно такое.. эти команды пишутся каждые 5 секунд, и за день собирается столько мусора что потом блокнот их открывает приличное время..

так собственно задачка, хочу сделать bat, чтобы искал за предыдущий день логи и удалял оттуда строки содержащие
"files not found", а строки с ошибками и успешными отправками оставлял

крайне желательно чтоб это было возможно запихать в планировщик задач и чтоб он это делал на постоянной основе

Отправлено: 11:05, 30-09-2022

 

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


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"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 20:04, 12-10-2022 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


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
в этом синтаксисе можно эти строки оставить но отменить? решеткой или еще как? чтоб файл был готов, и требовал минимальных изменений, а то забуду ведь (
кстати если я добавляю их в нынешний вариант, он ничего не удаляет и делает только один самый старый лог (

Последний раз редактировалось John87, 13-10-2022 в 06:55.


Отправлено: 06:45, 13-10-2022 | #22



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление строк из txt файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - чтение строк из файла и последующая вставка этих строк в copy con file.txt sermister1 Скриптовые языки администрирования Windows 5 11-06-2020 15:46
Любой язык - [решено] Добавить блоки строк из одного txt файла в другие txt файлы Alexander_88 Скриптовые языки администрирования Windows 7 06-07-2019 00:15
Любой язык - Удаление из txt файлов не нужных строк и дубликатов строк. voler Скриптовые языки администрирования Windows 1 26-02-2018 14:10
CMD/BAT - [решено] удаление части строк из всех текстовых файлов в папке icq99999999 Скриптовые языки администрирования Windows 4 06-11-2013 07:19
Удаление файлов из списка указанного в txt blacks2 Вебмастеру 28 02-09-2009 20:09




 
Переход