Войти

Показать полную графическую версию : [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле


sucher
11-09-2011, 14:37
Добрый день! Борюсь 2й день. Задача такого плана.
Есть 2 тестовых файла с:\test1.txt и с:\test2.txt.
Первый выглядит так:
11.09.2012igu4vugv:
21.08.2012jghvgcycfu:
30.09.2011ycft3xctdxc:
07.05.2013ugvugvugv:
27.12.2011trxftxt5fxctfc:
09.08.2011iuhijhbkjbu:

Второй выглядит так:
jghvgcycfu:4ojrnjgbn
ycft3xctdxc:iuhefv6erv
trxftxt5fxctfc:ihebfrv7evnj
iuhijhbkjbu:7oih4fc6
igu4vugv:ugv7yfc4

Необходимо найти в первом дату, если она равна сегодняшней, то скопировать в буфер символы до конца строки после найденной даты и найти скопированный набор символов во втором файле, далее перед найденными символами в начале строки дописать символ #. Люди помогите с батником.

kiripanda
11-09-2011, 18:04
@echo off &setlocal enabledelayedexpansion

for /f "delims=" %%a in ('findstr /bc:"%date%" c:\test1.txt') do (
set "str1=%%a"
echo:!str1:~10!>>c:\test1.tmp
)
for /f "delims=" %%b in (c:\test2.txt) do (
echo:%%b |findstr /bg:c:\test1.tmp >nul &&(>>c:\test2.tmp echo:#%%b) ||(>>c:\test2.tmp echo:%%b)
)
move /y c:\test2.tmp c:\test2.txt
del /q c:\test1.tmp

скопировать в буферэто точно нужно?

sucher
11-09-2011, 18:18
копировать в буфер не обязательно. батник работает, но не совсем правильно, когда присутсвует 2 совпадающие даты, во втором файле информация удваивается, что недопустимо.

kiripanda
11-09-2011, 19:02
исправлено

sucher
11-09-2011, 19:37
спасибо огромное, все работает, при добавлении новых записей тоже работает, выручили, сам точно не додумался б с моими 10+ летними знаниями бейсика. а в батниках приобладает язык С?

Brenden
10-03-2016, 16:22
Нужен батник для пойска и копирования из лог файла строк в др. файл.
например: искать по слову/символу "Сообщение" и копировать строку до конца или на заданное количество символов
[LOG216]1970/01/01 0:15:10 5AE7A8 | Сообщение № 2 Генерал-лейтенант
[LOG216]1970/01/01 0:15:20 5AE7A8
[LOG216]1970/01/01 0:15:30 5AE7A8 | Сообщение № 2 Генерал-лейтенант Всем здравствуйте!
01.02.2014, 23:09
Дата: Суббота, 01.02.2014, 23:09 | Сообщение № 2 Всем здравствуйте!

что бы получилось так
Сообщение № 2 Генерал-лейтенант
Сообщение № 2 Генерал-лейтенант Всем здравствуйте!
Сообщение № 2 Всем здравствуйте!

Iska
10-03-2016, 16:39
Образец:
лог файла »
упакованного в архив, приложите к сообщению.

Brenden
10-03-2016, 17:42
log
Такие строки нужны

Задача решилась в TC.




© OSzone.net 2001-2012