Компьютерный форум 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=330392)

operlo 10-10-2017 16:19 2769620

Копирование фалов по сети
 
Исходные данные
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
и т.д.
PHP код:

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

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

:procedure

xcopy  
"\\192.168.15.8\xxx\%otkyda%" "\\%1\%kyda%" ////

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

PHP код:

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

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

:procedure

xcopy  
"\\192.168.15.8\xxx\%otkyda%" "\\%1\%kyda%" ////y

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




Время: 07:26.

Время: 07:26.
© OSzone.net 2001-