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

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

Ветеран


Contributor


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

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


d.makarov, То есть, имеется сервер, на который необходимо батником, который исполняется планировщиком этого сервера,
скопировать с сетевого хранилища \\Store
несколько папок
\\Store\User1
\\Store\User2
\\Store\User3
......
в указанное на этом сервере место Z:\Box_Arc
в папки
Z:\Box_Arc\User1
Z:\Box_Arc\User2
Z:\Box_Arc\User3
.....
Вариант 1
Код: Выделить весь код
@Echo Off

xcopy /D /E /C /H /R /Y /Z "\\Store\User1\*.*" "Z:\Box_Arc\User1\"
xcopy /D /E /C /H /R /Y /Z "\\Store\User2\*.*" "Z:\Box_Arc\User2\"
xcopy /D /E /C /H /R /Y /Z "\\Store\User3\*.*" "Z:\Box_Arc\User3\"
Вариант 2
Код: Выделить весь код
@Echo Off

Set "From=\\Store"
Set "To=Z:\Box_Arc"

Set "PRG=xcopy /D /E /C /H /R /Y /Z"

Call  :PrgCopy "User1"  "User1"
Call  :PrgCopy "User2"  "User2"
Call  :PrgCopy "User3"  "User3"

goto :Eof

:PrgCopy
	%PRG% "%From%\%~1\*.*" "%To%\%~2\"
Вариант ничем не отличается от первого, просто написана попдпрограмма, при вызове которой не надо писать ни команду, ни общую часть путей копируемой папки. То есть, вызов подпрограммы копирования куда короче, чем xcopy с ключами и путями, что делает работу батника более наглядной и позволяет легче изменить общие пути - только в одном месте.

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


Последний раз редактировалось megaloman, 04-03-2017 в 23:09.

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

Отправлено: 18:28, 02-03-2017 | #4