![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Выбрать из ТХТ строки с датами заданного периода |
|
|
CMD/BAT - Выбрать из ТХТ строки с датами заданного периода
|
Пользователь Сообщения: 70 |
Добрый день.
Есть куча тхт файлов я с помощью bat файла выбираю только строки со словом Отключение rem Оставляем только строки со словом отключение setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir "#*.txt" /a-d /b') do ( findstr /c:"Отключение" "%%i">log.tmp del "%%i" move log.tmp "%%i" ) Получились такие строки 20.01.2016 208980 Отключение 25.01.2016 148557 Отключение 20.02.2016 280087 Отключение 25.02.2016 289205 Отключение Мне теперь что нужно - задать временной период типа set nachalo=26.01.16 set konec=25.02.16 и оставить в каждом файле только те строки, которые соответствуют этому периоду Заранее спасибо за помощь. |
|
Отправлено: 07:12, 26-02-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать surgutfred, попробуйте воспользоваться для этого LogParser'ом (Средство Log Parser 2.2). Возможно также, что и предварительно отбирать строки не придётся.
|
Отправлено: 07:48, 26-02-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать Хотелось бы без лишнего софта, на бат файле. Будем думать.
|
Отправлено: 07:43, 04-03-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать surgutfred, дело в том, что в пакетных файлах нет такого понятия как переменная и её тип. Следовательно, язык пакетных файлов ничего не знает о таком типе данных, как дата, и не имеет никаких средств для работы с ними. Можно, конечно, поизвращаться от полной безвыходности, но зачем?
Я показал, каким образом это можно сделать быстро и просто — одним SQL-запросом. Хотите исключительно встроенными средствами — можно использовать WSH или PoSH. Главный вопрос в объёмах обработки. Если это сотни килобайт — одно дело, сотни мегабайт — совсем-совсем другое, и в последнем случае равных LogParser'у нет. P.S. Чем он Вам не нравится? Родное средство от Microsoft. |
Отправлено: 08:30, 04-03-2016 | #4 |
Забанен Сообщения: 793
|
Не, LogParser - это от Лукавого, лучше уж действительно одним SQL-запросом все решить. Но если кто-то не ищет легких путей и предположить, что полученные файлы выглядят примерно так:
#file1.txt 20.01.2016 208980 Отключение 25.01.2016 148557 Отключение 20.02.2016 280087 Отключение 25.02.2016 289205 Отключение ... 20.01.2016 208980 Отключение 25.01.2016 148557 Отключение 20.02.2016 280087 Отключение 25.02.2016 289205 Отключение ... |
|
Отправлено: 09:49, 04-03-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
Цитата greg zakharov:
Цитата surgutfred:
|
|||
Отправлено: 10:12, 04-03-2016 | #6 |
Забанен Сообщения: 793
|
Цитата Iska:
Цитата Iska:
Цитата surgutfred:
|
|||
Последний раз редактировалось greg zakharov, 04-03-2016 в 11:04. Отправлено: 10:48, 04-03-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
|
|
Отправлено: 11:01, 04-03-2016 | #8 |
Забанен Сообщения: 793
|
Iska, ужель запамятовали?
|
Отправлено: 11:07, 04-03-2016 | #9 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Iska, оведно
|
Отправлено: 11:09, 04-03-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Удалить строки из тхт файлов, номера которых указаны в другом тхт файле | Alexander_88 | Скриптовые языки администрирования Windows | 4 | 14-02-2016 11:21 | |
Любой язык - [решено] заменить ссылки из одного тхт на ссылки в другом тхт | Alexander_88 | Скриптовые языки администрирования Windows | 4 | 11-10-2015 16:46 | |
Любой язык - [решено] Извлечь определенные строки по счету из одного тхт файла в другой | Alexander_88 | Скриптовые языки администрирования Windows | 11 | 13-06-2015 12:48 | |
Любой язык - [решено] из одного тхт файла добавить содержимое во все тхт файлы папки | gangsterovich | Скриптовые языки администрирования Windows | 3 | 06-05-2011 04:29 | |
Прочие - Программа для поиска заданного слова (строки) | __sa__nya | Программное обеспечение Windows | 3 | 07-03-2009 23:51 |
|