Имя пользователя:
Пароль:
 | Правила  

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

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

Пользователь


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

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


Доброго времени суток. Прошу помочь написать, на мой взгляд, сложный скрипт. Суть такая. Есть группа пользователей, они находятся в домене. У каждого из них, на компьютере, есть папка с файлами...если точно, то C:\WindowsSE и в ней пару документов, которые записываются туда каждый день. Скрипт должен делать следующее, когда пользователь выключает компьютер или скажем за 30 минут до конца рабочего дня, брал содержимое папки WindowsSE или саму папку и копировал все на сервер, но так как пользователей много, а значит на сервер будет копироваться много папок WindowsSE, что в итоге создаст одну папку и все файлы будут в перемешку, а надо что бы от каждого пользователя (желательно с его именем и фамилией или именем компьютера) создавалась папка и уже туда помещалась та самая папка WindowsSE с его данными, не "затираясь" или "заменяясь" такими же от других пользователей!, такое вообще возможно сделать?)))

Отправлено: 13:42, 31-07-2019

 

Старожил


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

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


Цитата neviDimka91:
когда пользователь выключает компьютер »
поместить в logoff батник
с содержимым

Код: Выделить весь код
set old_dir="D:\очень важная папка"
set new_dir="\\server\важные папки\%username%"
xcopy %old_dir% %new_dir% /s /e /h /y
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:53, 31-07-2019 | #2



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

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


Пользователь


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

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


Цитата megaloman:
Где расположен скрипт: на сервере или у клиента? »
Если вы про скрипт, который хотелось бы написать, то я думаю он будет располагаться как написали вышел в LOGOFF.

Цитата Ageron:
set old_dir="D:\очень важная папка"
set new_dir="\\server\важные папки\%username%"
xcopy %old_dir% %new_dir% /s /e /h /y »
я попробую - позже отпишусь

UPD: попробовал скрипт. При выходе пользователя компьютер завис))))

Последний раз редактировалось neviDimka91, 31-07-2019 в 15:23. Причина: дополнение


Отправлено: 15:12, 31-07-2019 | #3


Аватара для Charg

Ветеран


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

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


Цитата neviDimka91:
При выходе пользователя компьютер завис)))) »
Не завис а начал копирование. Либо у пользователя нет прав на запись в папку %new_dir%

Отправлено: 19:04, 31-07-2019 | #4


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


neviDimka91, для этого 100 лет как придумали домашние папки:
https://support.microsoft.com/ru-ru/...lder-to-a-user
Пользователи просто будут работать уже на сервере в своей папке.

И никаких скриптовых костылей. У вас же домен есть, это очень мощная штука.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 22:02, 31-07-2019 | #5


Пользователь


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

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


Цитата Charg:
Не завис а начал копирование. Либо у пользователя нет прав на запись в папку %new_dir% »
в папочке было 3 файла (картина, документ ворд и эксель), доступ в папку есть (фул права). Пока не разобрался в чем дело, мб путь указан не верно, хотя перепроверил все 100 раз.

Цитата DJ Mogarych:
Пользователи просто будут работать уже на сервере в своей папке. »
Скажем так, этот вариант нам не подходит, данный скрипт и копирование файлов происходит в неведении пользователя. Все в целях информационной безопасности.

Отправлено: 08:06, 01-08-2019 | #6


Пользователь


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

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


Цитата neviDimka91:
set old_dir="D:\очень важная папка"
set new_dir="\\server\важные папки\%username%"
xcopy %old_dir% %new_dir% /s /e /h /y »
Кажется разобрался в чем дело. Дописал в конце кода pause и увидел как во время выполнения он спрашивает это каталог или файл. Поставил ключ /i и все заработало.

Ageron, вам огромное спасибо за помощь. Для меня даже такой код сложный, а для вас как я вижу проще простого)

Отправлено: 08:54, 01-08-2019 | #7


Ветеран


Contributor


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

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


neviDimka91,
Цитата neviDimka91:
Поставил ключ /i и все заработало. »
Можно и без этого ключа, если пути указывать с "\"
Я бы еще предложил /D, чтобы не перезаписывать файлы, если они не изменялись, и неплохо бы иметь лог-файл, чтобы можно было контролировать исполнение этого процесса
Код: Выделить весь код
@Echo Off
	Set "old_dir=Z:\очень важная папка"
	Set "new_dir=\\Server\Test1\%username%"
	
	2>nul Md "%new_dir%" 
	>>"%new_dir%\~%~nx0.log" (Echo. &Echo === %Date%  %Time%)
 	>>"%new_dir%\~%~nx0.log" 2>>&1 Xcopy "%old_dir%\*.*" "%new_dir%\" /D /F /s /e /h /y

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

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

Отправлено: 14:55, 01-08-2019 | #8


Пользователь


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

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


Цитата megaloman:
Set "old_dir=Z:\очень важная папка"
Set "new_dir=\\Server\Test1\%username% »
хмм, а первые кавычки разве открывать нужно перед old а не когда путь указывается?
Set old_dir="Z:\очень важная папка"
Set new_dir="\\Server\Test1\%username%"

данный код попробую потестировать, но не сегодня

Отправлено: 15:06, 01-08-2019 | #9


Ветеран


Contributor


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

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


neviDimka91, Все кавычки у меня расставлены правильно.
Можно, конечно, сделать и так, но мне это не нравится
Код: Выделить весь код
@Echo Off
	Set old_dir="Z:\очень важная папка\*.*"
	Set new_dir="\\Server\Test1\%username%\"
	
	2>nul Md "%new_dir%" 
	>>"%new_dir%\~%~nx0.log" (Echo. &Echo === %Date%  %Time%)
 	>>"%new_dir%\~%~nx0.log" 2>>&1 Xcopy %old_dir% %new_dir% /D /F /s /e /h /y

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


Последний раз редактировалось megaloman, 01-08-2019 в 15:22.


Отправлено: 15:11, 01-08-2019 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Скрипт VBS для копирования Файла с сетевой папки . xtoxa Скриптовые языки администрирования Windows 1 31-05-2016 14:50
CMD/BAT - скрипт для копирования папки с сетевого ресурса на компьютер. BlackEden Скриптовые языки администрирования Windows 10 21-01-2016 15:11
Любой язык - Скрипт для автоматического копирования SFlash Скриптовые языки администрирования Windows 0 18-03-2013 16:25
CMD/BAT - [решено] Скрипт для копирования содержимого директории sharky lions Скриптовые языки администрирования Windows 2 07-07-2011 18:16
CMD/BAT - Скрипт для копирования пользователей. mitiya Скриптовые языки администрирования Windows 6 30-04-2009 16:13




 
Переход