Показать полную графическую версию : [решено] Копирование файла по условию его содержимого
XSubZero
16-05-2012, 13:06
Здравствуйте, возникла такая проблема:
Ежедневно в папку приходят файлы порядка 20 штук, интересует только один файл, внутри которого есть текст "ED211", его необходимо скопировать в папку с:\temp.
То есть автоматизировать ручной процесс сначала поиска этого файла, затем последующего копирования.
Помогите реализовать данный скрипт.
XSubZero
16-05-2012, 13:24
Разобрался сам, на всякий случай выложу код, может кому и пригодится:
Сам файл назван 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
)
XSubZero
16-05-2012, 17:13
hAUS, спасибо большое , так действительно более правильно!!!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.