PDA

Показать полную графическую версию : Копирование фалов по сети


operlo
10-10-2017, 16:19
Исходные данные
50+ компьютеров сети с маской 192.168.1.ХХХ расшареная папка %USERPROFILE%\Desktop\share - т.к. профили разные
есть адмиских 2 компа на одном из них шара \\ADMIN_1\xxx
На всех Win 10

пробовал так, работает когда заходиш по рдп

net use \\192.168.1.8\xxx pass, /user:admin
xcopy "\\192.168.1.8\xxx\v10" "%USERPROFILE%\Desktop\v10" /S /E
net use \\192.168.1.8\xxx delete

Но минус в чем, на машинах есть 2 разных профиля admin и t-admin, я работаю с профиля admin и на машинах, где такой же рабочий профиль, то копирует на рабочий стол норм или если заходить по РДП и запускать БАТ такого собержания, то тоже копирует, а вот на машины с активных профилем t-admin, не хочет

Хочу организовать батник с лог файлом, чтоб копировать когда надо файлы по сети в папку Share(расшарена) или без разшаривания, просто на рабочий стол "%USERPROFILE%\Desktop\

1. По очередно копировало на каждый компьютер и записывало в лог файл log(по возможности с текущей датой).txt 192,168,1,1 - ок и т.д., при копировании чистило папку или заменяло, ну или проверяло соответствие, если одинаковы то шло дальше

2. Список компьютеров брало из текстового документа , например comps.txt
192.168.1.1
192.168.1.2
т.д.

3. Чтоб проверяло онлайн компьютер или нет, чтоб не тупило при копировании

посидел потестил, получилось, что-то такое, не могу понять , как прикрутить лог файл, в идеале, чтоб в таком виде:
192.168.1.1 - скопирован 1 файл - ok
192.168.1.2 - fail
и т.д.

@echo off
set comps=comps.txt
::указываем путь откуда конкретно из папки \\192.168.15.8\xxx\otkyda перемещаем
set otkyda=BAT files\reboot.bat
::указываем путь куда \\192.168.15.16\kyda перемещаем
set kyda=share\

for /f "tokens=1" %%i in (%comps%) do call:procedure %%i

:procedure

xcopy "\\192.168.15.8\xxx\%otkyda%" "\\%1\%kyda%" /s /e /h /y


вообщем итоговый скрипт получился вот такой, плюшкой было бы , получать время копирования напротив IP, но пока не могу допетрать, что и куда


@echo off
set comps=comps.txt
::указываем путь откуда конкретно из папки \\192.168.15.8\xxx\otkyda перемещаем
set otkyda=BAT files\reboot.bat
::указываем путь куда \\192.168.15.16\kyda перемещаем
set kyda=share\

for /f "tokens=1" %%i in (%comps%) do call:procedure %%i

:procedure

xcopy "\\192.168.15.8\xxx\%otkyda%" "\\%1\%kyda%" /s /e /h /y

if exist "\\%1\%kyda%" (
echo %1 OK
echo %1 OK >> log.txt
) else (
echo %1 Fail
echo %1 Fail >> log.txt
)




© OSzone.net 2001-2012