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

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

Ответить
Настройки темы
Любой язык - [решено] Копирование\перемещение с сохранением структуры папок

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


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

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


Добрый день. Подскажите как реализовать следующий механизм. Есть база изображений со структурой \\сервер1\год\фио\месяц\день\папка_фото\фото.jpg .... например надо скопировать\переместить на \\сервер2\архив\год\фио\месяц\день\папка_фото\фото98.jpg Хотелось бы чтобы при копировании фото98.jpg в каталоге назначения \\сервер2\архив автоматически создавался путь "\год\фио\месяц\день\папка_фото\"

Отправлено: 13:58, 18-12-2018

 

Аватара для Elven

Ветеран


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

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


Код: Выделить весь код
robocopy /?

Отправлено: 14:13, 18-12-2018 | #2



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

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


Ветеран


Contributor


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

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


Цитата xan08:
Есть база изображений со структурой \\сервер1\год\фио\месяц\день\папка_фото\фото.jpg »
Как имя расшаренного ресурса? \\сервер1\год (то есть, имеем много расшаренных папок для каждого года, например:
\\сервер1\2015 \\сервер1\2016 \\сервер1\2017 \\сервер1\2018
Или расшаренная папка одна, и там много папок с годами, то есть:
\\сервер1\расшаренная_папка\годы

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


Отправлено: 16:17, 18-12-2018 | #3


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


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

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


Цитата megaloman:
Цитата xan08:
Есть база изображений со структурой \\сервер1\год\фио\месяц\день\папка_фото\фото.jpg »
Как имя расшаренного ресурса? \\сервер1\год (то есть, имеем много расшаренных папок для каждого года, например:
\\сервер1\2015 \\сервер1\2016 \\сервер1\2017 \\сервер1\2018
Или расшаренная папка одна, и там много папок с годами, то есть:
\\сервер1\расшаренная_папка\годы
Расшаренная папка одна
сервер 1 \\klon\FOTO
сервер 2 \\hurma\archive


Цитата Elven:
robocopy /? »

robocopy \\klon\FOTO\2015\Морозов\июнь\03 \\hurma\archive 39.jpg /MOV

Что нужно дописать чтобы в папке archive при копировании определенного файла создавался подкаталог FOTO\2015\Морозов\июнь\03? Не вижу таких ключей в robocopy /?

Нашел скрипт на powershell который делает так, но файлов порядка 10 тысяч и все с разными путями + маской *.jpg задать нельзя, т.к. требуется переместить определенные. Изначально планировалось копипастом закинуть все пути в BAT и выполнить с помощью robocopy
Powershell
$src = 'C:\Temp'
$dst = 'D:\Foto'

foreach ($file in Get-ChildItem $src -File -Include *.jpg,*.txt -Recurse)
{
$folder = "$dst$(Split-Path $file.DirectoryName -NoQualifier)"

if (-not (Test-Path $folder)) {New-Item $folder -Force -ItemType Directory}
Copy-Item $file $folder -Force
}

Последний раз редактировалось xan08, 19-12-2018 в 09:42.


Отправлено: 02:52, 19-12-2018 | #4


Ветеран


Contributor


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

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


xan08, robocopy "\\Сервер1\Шара1\" "\\Сервер2\Шара2\" *.jpg /s /mov

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


Отправлено: 12:26, 19-12-2018 | #5


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


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

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


Цитата megaloman:
xan08, robocopy "\\Сервер1\Шара1\" "\\Сервер2\Шара2\" *.jpg /s /mov »
Если из папки в папку, то проблемы нет...а вот на примере такой конструкции robocopy "\\klon\FOTO\2015\Морозов\июнь\03" "\\hurma\archive" 39.jpg /MOV можно ли сделать, чтобы в папке назначения автоматически создавалась структура FOTO\2015\Морозов\июнь\03.

Отправлено: 14:14, 19-12-2018 | #6


Ветеран


Contributor


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

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


xan08,
Код: Выделить весь код
@Echo Off
cls
	Set "Shr1=\\Сервер1\Шара1" 
	Set "Shr2=\\Сервер2\Шара2"
	Set "Mask=*.jpg"

	FOR /F "tokens=2 delims=\" %%i IN ("%Shr1%") DO Set "ShrDir=%%i"
	RoboCopy "%Shr1%" "%Shr2%\%ShrDir%" "%Mask%" /S /Mov

	Del /S /A "%Shr1%\desktop.ini" >NUL
	For /F "usebackq delims=" %%i In (`Dir "%Shr1%\" /B /S /A:D 2^>nul^|Sort /R`) Do 2>nul RD "%%i"

Pause
Имеем "\\Сервер1\Шара1\" "\\Сервер2\Шара2\"
Переместим "\\Сервер1\Шара1\" --> "\\Сервер2\Шара2\Шара1\"
В красных строках удаляются файлы "\\Сервер1\Шара1\desktop.ini" и затем все пустые папки в "\\Сервер1\Шара1\", если они есть. Решайте сами, оно Вам нужно ?
Если надо конкретный файл, то, например, указать Set "Mask=39.jpg"

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


Последний раз редактировалось megaloman, 19-12-2018 в 19:01.

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

Отправлено: 18:52, 19-12-2018 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Построчное копирование папок, с сохранением структуры или копирования из файла - Powe morgan-12l1 Скриптовые языки администрирования Windows 2 17-07-2018 18:53
VBS/WSH/JS - Копирование файлов из каталогов и подкаталогов с сохранением структуры подкаталогов spke Скриптовые языки администрирования Windows 0 10-04-2013 23:58
CMD/BAT - Перемещение файлов по маске с сохранением структуры папок... nfs911 Скриптовые языки администрирования Windows 6 15-02-2013 00:08
CMD/BAT - Копирование только самых новых файлов в папках с сохранением структуры папок hoh Скриптовые языки администрирования Windows 3 03-01-2012 10:22
CMD/BAT - [решено] как осуществить копирование по маске с сохранением структуры папок seriych Скриптовые языки администрирования Windows 3 29-05-2010 17:10




 
Переход