Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование файла по условию его содержимого (http://forum.oszone.net/showthread.php?t=234763)

XSubZero 16-05-2012 13:06 1916953

Копирование файла по условию его содержимого
 
Здравствуйте, возникла такая проблема:
Ежедневно в папку приходят файлы порядка 20 штук, интересует только один файл, внутри которого есть текст "ED211", его необходимо скопировать в папку с:\temp.
То есть автоматизировать ручной процесс сначала поиска этого файла, затем последующего копирования.
Помогите реализовать данный скрипт.

XSubZero 16-05-2012 13:24 1916963

Разобрался сам, на всякий случай выложу код, может кому и пригодится:
Сам файл назван 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

hAUS 16-05-2012 14:31 1917010

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 1917101

hAUS, спасибо большое , так действительно более правильно!!!


Время: 08:59.

Время: 08:59.
© OSzone.net 2001-