Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo off

Set DD_MM_YYYY=01.04.2007

Set To=C:\gathering
Set Maska=*.xml

Call :CopyData "\\10.168.1.1\test"
Call :CopyData "\\10.168.2.2\test"
Call :CopyData "\\10.168.3.3\test"
Call :CopyData "\\10.168.4.4\test"
Call :CopyData "\\10.168.5.5\test"

GoTo :Eof

:CopyData
rem ----------------------------- Тест на доступ к исходной папке

If Not Exist "%~1\*.*" (
   Echo --- Указанный путь недоступен %1
   GoTo :Eof
)

rem ----------------------------- Цикл по файлам в папке по маске

FOR %%i IN ("%~1\%Maska%") DO Call :CopyDataFind "%%~ti" "%%i"
GoTo :Eof

:CopyDataFind
rem ----------------------------- Поиск и копирование файла за указанную дату
Set DMY=%~1

If %DD_MM_YYYY%==%DMY:~0,10% (
   Copy %2 "%To%\" >nul 1>nul
   If Exist "%To%\%~nx2" (
      Echo +++ Успешно скопирован %2
   ) Else (
      Echo --- Не удалось скопировать %2
   )
) 

GoTo :Eof
В коде указываем дату файлов, путь, куда копируем, маску файлов. В системе формат даты должен быть dd.mm.yyyy, в ином случае требуется доработка.
В строках Call указываем, адреса откуда копируем .
Если Вы руками забираете нечто по указанным путям, значит, доступ по чтению (по крайней мере) у Вас имеется.
На экране отражаем процесс копирования.
В принципе, то же самое можно поместить и в лог-файл.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 20:53, 25-09-2010 | #2