Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


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

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


Для работы скрипта нужен Grep из набора утилит GNU coreutils, портированный под Windows, плюс его зависимости. Рядом со скриптом создать директорию bin, куда и сложить бинарник грепа и либы, нужные для его работы.
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set Path=%Path%;%CD%\bin
Set XMLPath=D:\Temp\xmlfiles
For /F "delims=" %%F In ('Dir "%XMLPath%\*.xml" /B 2^>nul') Do (
	Set Prefix=&Set InsuranceNumber=0
	For /F "delims=_" %%P In ("%%~F") Do (Set Prefix=%%P)
	For /F "tokens=2 delims=><" %%N In ('grep -Eo "<InsuranceNumber>[^<]*</InsuranceNumber>" "%XMLPath%\%%F"') Do (
		If Not %%N==/InsuranceNumber Set InsuranceNumber=%%N
	)
	Echo !Prefix!_!InsuranceNumber!
)
Pause
Скрипт вместе с обвязкой (греп+зависимости) - http://rghost.ru/38920583

Исправил скрипт, вначале невнимательно прочел условие и не сделал обработку пустого значения.

Последний раз редактировалось Anonymоus, 28-06-2012 в 17:18.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:05, 28-06-2012 | #2