Копирование файла по условию его содержимого
Здравствуйте, возникла такая проблема:
Ежедневно в папку приходят файлы порядка 20 штук, интересует только один файл, внутри которого есть текст "ED211", его необходимо скопировать в папку с:\temp. То есть автоматизировать ручной процесс сначала поиска этого файла, затем последующего копирования. Помогите реализовать данный скрипт. |
Разобрался сам, на всякий случай выложу код, может кому и пригодится:
Сам файл назван 1.bat , в нем я задаю маску, поэтому в конце он удаляется из каталога назначения. Листинг: cls @echo off Set Source=C:\0 Set Dest=C:\1 Set Str=ED211 For %%I In ("%Source%\*") Do ( Find "%Str%" "%%I" >nul If ErrorLevel 1 ( Echo %%~nxI - no matches in file ) Else ( Echo %%~nxI - matches found copy /Y "%%I" "%Dest%" ) ) del c:\1\1.bat pause |
c:\dir\20120516\ - входная директория с 20 файлами, среди которых есть ED211
с:\temp\ - директория назначения для найденного ED211 rem Копирование файла выписки из лицевого счёта @echo off ::Получаем текущую дату в формате YYYYMMDD set date=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% ::Находим выписку из лицевого счёта, зная что в файле содержится текст ED211 For /F "Delims=" %%I In ('Findstr /L /I /M /C:"ED211" \\srv\archive\in\%date%\*.*') Do ( Echo %%~nxI ::Копируем переименовав Copy "%%~I" с:\temp\propazha.vip >nul ) |
hAUS, спасибо большое , так действительно более правильно!!!
|
Время: 08:59. |
Время: 08:59.
© OSzone.net 2001-