Войти

Показать полную графическую версию : Копирование текстовых файлов в зависимости от их содержимого


Brigadir_33
27-02-2012, 22:42
Коллеги, приветствую.
Во столкнулся с такой задачкой. Мож кто решал - в нете по такой задачке инфы толковой не нашел.
Итак в некий каталог валятся текстовые файлы - 100 штук в неделю. Имена файлов - неговорящие (порядковый номер например).
В зависимости от содержания этих файлов - их надо либо переносить в другой каталог, либо удалять.
То есть если в тексте файла пристутствует некая комбинация символов (например 1582) то этот файл - нужный, перекидываем его в папку work, если же в тексте файла подобная комбинация не встречается - то удаляем его. То есть сортируем файлы по содержимому.
Буду очень благодарен за подсказку в виде скриптика VBS или bat - файла.
В VBS - не очень силен - с батниками полегче.

Petya V4sechkin
28-02-2012, 08:02
Brigadir_33, как-то так:
@Echo Off
Set Source=исходная папка, например C:\source
Set Dest=папка назначения, например C:\work
Set Str=искомая строка, например 1582

For %%I In ("%Source%\*") Do (
Find "%Str%" "%%I" >nul
If ErrorLevel 1 (
Echo %%~nxI - удаление.
Del /F /Q "%%I"
) Else (
Echo %%~nxI - строка найдена.
Move /Y "%%I" "%Dest%"
)
)


P. S. Опция /Y в команде Move перезапишет файлы в папке назначения, если они уже существуют.




© OSzone.net 2001-2012