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

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

Ответить
Настройки темы
CMD/BAT - [решено] помощь в поиске строки в файле по условию

Аватара для tr011_tmn

Ветеран


Автор проектов


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

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


Доброго времени суток, столкнулся со следующей проблемой:
- пытаюсь автоматизировать работу с расширениями Mozilla

удалось добиться извлечения расширения во временную папку, но не хватает тямы как выдернуть верное имя из rdf, и использовать его в виде имени папки

В голове примерно представляю как сделать а вот бантиком не удается реализовать
Код: Выделить весь код
	FOR %%B IN (Extensions) DO (
		FOR /F "USEBACKQ DELIMS=" %%I in (`DIR .\%%B\*.xpi /B /ON`) do (
			start /min /wait 7z.exe x .\Extensions\%%~nI.xpi -o.\Extensions\Exttmp\%%~nI
				FOR /F "delims=" %%P in (' ".\Extensions\Exttmp\%%~nI\*.rdf" /i "<em:id>*</em:id>"') do (
					if  NOT %%P==<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> (
						if Not %%P==<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> (
							Ren .\Extensions\Exttmp\%%~nI Extensions\Exttmp\%%P
						)
					)
				)
		)
	)

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 13:23, 22-10-2010

 

Googler


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

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


Цитата tr011_tmn:
как выдернуть верное имя из rdf, и использовать его в виде имени папки »
представляю себе как-то так (в имени расширения не должно быть "!"):
Код: Выделить весь код
@echo off
SETLOCAL EnableExtensions EnableDelayedExpansion

for %%i in (.\extensions\*.xpi) do for /f "tokens=*" %%a in (
'7z e "%%i" -so install.rdf^|find /i "<em:name>"') do (set "$a=%%a"
 7z x "%%i" -y -o".\Extensions\!$a:~9,-10!"
)>nul
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:59, 23-10-2010 | #2



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

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


Аватара для tr011_tmn

Ветеран


Автор проектов


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

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


Цитата amel27:
представляю себе как-то так (в имени расширения не должно быть "!"): »
Огромное спасибо. Наконец то дошли руки, и идея воплотилась благодаря тебе в конструктор, но возникло одно но.

при выполнении запроса:
Код: Выделить весь код
:: парсим файлы с расширением *.jar на наличие <em:id> в *.rdf
for %%i in (.\Themes\*.jar) do for /f "tokens=*" %%a in (
'7z e "%%i" -so install.rdf^|find /i "<em:id>"') do (set "$a=%%a"
 7z x "%%i" -y -o".\bin\tmp\core\defaults\profile\extensions\!$a:~7,-8!" >nul
)>nul
получаю в окне консоли следующий текст:
Код: Выделить весь код
7-Zip [64] 9.30 alpha  Copyright (c) 1999-2012 Igor Pavlov  2012-10-26

Processing archive: .\Themes\ft_sleekdark-2.6-fx-windows.jar

Extracting  install.rdf

Everything is Ok

Size:       1120
Compressed: 728966
Можно ли от него избавится? Скрыть результат работы архиватора с ключом -so?

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 09:53, 16-07-2013 | #3


Ветеран


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

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


Код: Выделить весь код
for %%i in (.\Themes\*.jar) do for /f "tokens=*" %%a in (
    '7z e "%%i" -so install.rdf 2^>nul ^|find /i "<em:id>"'
) do …
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:32, 16-07-2013 | #4


Аватара для tr011_tmn

Ветеран


Автор проектов


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

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


Iska, спасибо огромное. ты оказал неоценимую помощь

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 07:45, 17-07-2013 | #5


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


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

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


А подскажите как искать последнюю строку с данным условием? Ну если в файле много повторяющейся информации, и надо самую свежую.

Отправлено: 13:11, 18-07-2013 | #6


Ветеран


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

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


MegaZAC, пример файла и условия предоставьте.

Отправлено: 13:29, 18-07-2013 | #7


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


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

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


Iska,
PHP код: Выделить весь код

08/02/2013-06h56m52s187ms | --> | 0xcac | +bnr_QueryCashUnit () : transpC=0
                          BU   id
=43061200124         count=0   status=6031 lock=0 threshold:mode/e-l-h-f/status=1/0-0-0-15/8
                             6     0
-   -   id=43061200124         kind=6019 type=6029 status=6031 initialCount=0 count=0
                          CB   id
=                    count=171 status=6031 lock=0 threshold:mode/e-l-h-f/status=0/0-0-0-600/0
                            12     0
-   -   id=                    kind=6017 type=6021 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/17/0/0/0/13/17
                            13  5000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/2095/0/0/0/0/0
                            14 500000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/1083/0/0/0/0/3
                            15  1000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/1639/0/0/0/0/18
                            16 10000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/4235/0/0/0/1/43
                            17 100000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/13026/0/0/0/0/58
                            18 50000
-RUB-AA id=                    kind=6017 type=6023 status=6031 init-/dep-/retr-/empt-/forg-/disap-/count 0/6167/0/0/0/0/32
                          LO1  id
=41060800075         count=113 status=6031 lock=0 threshold:mode/e-l-h-f/status=0/0-0-0-200/0
                             5  5000
-RUB-AA id=41060800075         kind=6019 type=6029 status=6031 initialCount=0 count=0
                            11  5000
-RUB-AA id=41060800075         kind=6016 type=6023 status=6031 init-/disp-/rej-/count 0/33/0/113
                          RE3  id
=41061000138         count=23  status=6031 lock=0 threshold:mode/e-l-h-f/status=1/0-15-100-30/0
                             1  5000
-RUB-AA id=41061000138         kind=6019 type=6029 status=6031 initialCount=0 count=0
                             7  5000
-RUB-AA id=41061000138         kind=6018 type=6023 status=6031 initialCount=0 count=23
                          RE4  id
=41061000138         count=45  status=6031 lock=0 threshold:mode/e-l-h-f/status=1/0-0-100-55/0
                             2 10000
-RUB-AA id=41061000138         kind=6019 type=6029 status=6031 initialCount=0 count=0
                             8 10000
-RUB-AA id=41061000138         kind=6018 type=6023 status=6031 initialCount=0 count=45
                          RE5  id
=41061000139         count=30  status=6031 lock=0 threshold:mode/e-l-h-f/status=1/0-0-100-30/1
                             3 100000
-RUB-AA id=41061000139         kind=6019 type=6029 status=6031 initialCount=0 count=0
                             9 100000
-RUB-AA id=41061000139         kind=6018 type=6023 status=6031 initialCount=0 count=30
                          RE6  id
=41061000139         count=55  status=6031 lock=0 threshold:mode/e-l-h-f/status=1/0-0-100-55/1
                             4 50000
-RUB-AA id=41061000139         kind=6019 type=6029 status=6031 initialCount=0 count=0
                            10 50000
-RUB-AA id=41061000139         kind=6018 type=6023 status=6031 initialCount=0 count=55 

Вот такие вот сообщения периодически пишут в текстовый файл. Глобально задача в том чтобы находить самый низ файла, там находить каждый ID из четырёх RE (3,4,5,6), оттуда брать значение второй строчки count=* После всего этого надо собранные значения с указанием даты и времени выписывать в какой-нить свой лог. Значения count всегда цифровые и не превышают 300.
Скрипт планирую положить в качестве задачи и выполнять каждые минут 15. В итоге всё это надо будет экспортировать в 1С, но это уже проблема других людей.

Отправлено: 17:41, 18-07-2013 | #8


Ветеран


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

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


MegaZAC, хорошо бы изложить то же самое, но по-русски. Желательно с примером того, что должно получиться при извлечении данных из выложенного выше образца.

Отправлено: 17:57, 18-07-2013 | #9


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


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

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


Должен быть другой текстовый файл содержащий поля:

1) дата 2) время 3) ID (например id=41061000138) 4) 23 (из той же строчки с ID, последняя цифра)

Т.е. BAT открывает имеющийся текстовый файл, лезет в самый низ, и снизу вверх вытаскивает перечисленные значения и сохраняет в отдельный файл.

Отправлено: 19:46, 18-07-2013 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] поиск строки в WORD файле.... garanov AutoIt 3 19-03-2010 09:16
Как в файле изменить определённые строки? NewOLDi AutoIt 11 05-02-2010 00:09
помощь в поиске драйверов для ноутбука SKAINET Поиск драйверов, прошивок и руководств 12 18-10-2007 22:13
Нужна помощь в поиске! Killed Программирование и базы данных 4 08-01-2007 01:21




 
Переход