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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите сделать батник для копирование файлов с удаленых ip

Ответить
Настройки темы
CMD/BAT - [решено] Помогите сделать батник для копирование файлов с удаленых ip

Новый участник


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

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


Есть сеть около 1000 машин,на каждой машине есть папка \\10.168.Y.X\test в этой папке создается каждый день .xml файлик.
Вопрос можно ли написать такой батник что бы при запуске из \\10.168.Y.X\test копировал на мою машину,скажем в C:\gathering,нужный мне .xml за определенную дату.Проблема в том что машин много и названия этих .xml у всех своё и каждый день.Так же машины с которых нужно скопировать каждый день разные(в день приходится руками забирать эти xml со 70-100 машин) .Хотелось бы каждый день меняя в батнике ip на актуальные избавится от этой проблемы.Да и не все машины бывают в сети.Желательно было бы что бы батник такие машины игнорил.
P.S.Особо не пинайте с таким раньше не сталкивался.

Отправлено: 15:54, 25-09-2010

 

Ветеран


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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Спасибо большое!!Неожидал что так во сразу)
P.S.Протестил- работает без нареканий спасибо еще раз)

Последний раз редактировалось Moksar, 26-09-2010 в 20:33.


Отправлено: 20:14, 26-09-2010 | #3


Ветеран


Contributor


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

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


Если надо брать ip из текстового файла (например,zzz.txt), то замените кусок кода от Echo до GoTo
Код: Выделить весь код
@Echo off

Set DD_MM_YYYY=01.04.2007
Set filename=D:\zzzz.txt

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

FOR /F "usebackq delims=" %%f IN (%filename%) DO Call :CopyData "\\%%f\test"

GoTo :Eof

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

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

Отправлено: 20:22, 30-09-2010 | #4


Новый участник


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

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


Спасибо!!Выручил еще раз)

Отправлено: 22:01, 30-09-2010 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помогите сделать батник для копирование файлов с удаленых ip

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите создать батник для отслеживания изменений файла и отправки сообщения на майл sergeyhopper Скриптовые языки администрирования Windows 8 22-09-2010 08:26
CMD/BAT - [решено] батник для копирования файлов из ряда поддиректорий xumuk032 Скриптовые языки администрирования Windows 3 27-04-2010 21:23
CMD/BAT - [решено] Помогите создать батник для переноса Профиля пользователя. katarsis Скриптовые языки администрирования Windows 13 18-04-2010 14:23
CMD/BAT - помогите сделать батник копирования папки siz Скриптовые языки администрирования Windows 7 08-10-2009 11:45
CMD/BAT - нужно сделать такой батник если возможно... God-of-Chaos Скриптовые языки администрирования Windows 0 16-09-2009 09:06




 
Переход