Скопируйте данные профиля с помощью robocopy с разрешения

Я пытаюсь скопировать подпапку ChromeData с разрешениями, которые могут находиться или не находиться в профилях пользователей. Итак, структура папок следующая.

-user1
 -chromeData
 -contacts
 -desktop

-user2
 -chromeData
 -contacts
 -desktop

пункт назначения должен быть таким.

-user1
 -ChromeData

-user2
 -ChromeData

Мой код выглядит следующим образом. Он копирует содержимое папки chromeData в место назначения, но не копирует разрешения. Обратите внимание, что я использовал / mir / secfix и / copyall с robocopy. Ни один из них не работал. Я видел сообщение о том, что robocopy не копирует унаследованные разрешения. Если это правда, мне нужно обходное решение.

@echo off
setlocal EnableDelayedExpansion
set Source=F:\DFSroot\Redirected Content\
set Target=H:\Redirected ChromeData\
rem dir /s /ad /b "%Source%*.*" | find /i "\ChromeData" > C:\Temp\dir.txt

for /F "tokens=*" %%a in (C:\Temp\dir.txt) do (
set T1=%%a
call set T2=!T1:%Source%=%Target%!
robocopy "%%a" "!T2!" /copyall 
pause
)

ОБНОВЛЕНИЕ

Обнаружено, что разрешение копируется для папки chromedata, но не для ее родительской папки.


person Sp3LLingzz    schedule 06.10.2015    source источник
comment
Если вы решите эту проблему, сообщите нам об этом.   -  person Paul    schedule 09.10.2015


Ответы (1)


Используйте следующую команду для копирования с ACL

robocopy "source address" "destination address" *.* /sec

Используйте следующую команду, чтобы исправить существующее дерево.

robocopy "source address" "destination address" *.* /secfix /sec

Нашел эту информацию в этом блоге

person Paul    schedule 06.10.2015
comment
В конце концов, похоже, что мой код верен. спасибо за ответ пол. но теперь у меня новый вопрос. он обновлен в вопросе. не могли бы вы мне с этим помочь? - person Sp3LLingzz; 06.10.2015
comment
@ user1844635 что показывать, если поставить echo перед robocopy? - person Paul; 06.10.2015
comment
@ user1844635 удалить `\` на последнем уровне каждого пути - person Paul; 06.10.2015