Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле (http://forum.oszone.net/showthread.php?t=215361)

sucher 11-09-2011 14:37 1750762

в файле найти дату, скопировать символы, дописать перед символами в другом файле
 
Добрый день! Борюсь 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 1750893

Код:

@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 1750899

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

kiripanda 11-09-2011 19:02 1750935

исправлено

sucher 11-09-2011 19:37 1750962

спасибо огромное, все работает, при добавлении новых записей тоже работает, выручили, сам точно не додумался б с моими 10+ летними знаниями бейсика. а в батниках приобладает язык С?

Brenden 10-03-2016 16:22 2614706

Нужен батник для пойска и копирования из лог файла строк в др. файл.
например: искать по слову/символу "Сообщение" и копировать строку до конца или на заданное количество символов
[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 2614712

Образец:
Цитата:

Цитата Brenden
лог файла »

упакованного в архив, приложите к сообщению.

Brenden 10-03-2016 17:42 2614730

Решено

log
Такие строки нужны


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


Время: 19:05.

Время: 19:05.
© OSzone.net 2001-