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

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

Старожил


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

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


Мой вариант:
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion
Set TargetDir=D:\TEMP\Testing\Upload

Set i=0
If Not Exist "%TargetDir%\Выборка" Md "%TargetDir%\Выборка"
For /F "tokens=*" %%F In ('Dir "%TargetDir%\*.xml" /A-D /B') Do (
Grep -o "<КодСтроки>10</КодСтроки>" "%TargetDir%\%%F">nul&&^
Grep -o "<Сумма>0.00</Сумма>" "%TargetDir%\%%F">nul&&^
Move /Y "%TargetDir%\%%F" "%TargetDir%\Выборка\%%F"&&Set /A i+=1
Title Файлов перемещено !i!
)
Echo Работа завершена
Pause>nul
Заменяете значение TargetDir на свой путь, если не нужна индикация количества обработанных файлов - убираете SetLocal EnableDelayedExpansion и всё, относящееся к счётчику. По идее, должно работать с любой поддерживаемой grep кодировкой, я проверял на 1251. Сам скрипт сохранить в 866 для работы с кириллическими путями.
Для работы скрипта нужен grep, входящий в пакет утилит GnuWin32 core utils. Скачать его можно здесь (сам grep и нужные dll) или здесь (официальная страница на sourceforge)

Последний раз редактировалось Anonymоus, 28-07-2011 в 23:09.

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

Отправлено: 22:54, 28-07-2011 | #8