2015-10-06 155 views
0

我试图复制ChromeData子文件夹,其权限可能在用户配置文件中,也可能不在用户配置文件中。所以文件夹结构如下。使用具有权限的robocopy复制配置文件数据

-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 
) 

UPDATE

研究发现,允许被复制的文件夹chromedata但不是它的父文件夹。

+0

如果你解决这个问题,请告诉我们这样。 – Paul

回答

0

使用以下命令与ACL的

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

使用下面的命令来修复现有树复制。

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

Found this information on this blog

+0

这似乎是我的代码是完全正确的。谢谢你的回答。但我现在有一个新的问题。它在问题中进行了更新。你能帮助我吗? – Sp3LLingzz

+0

@ user1844635如果您将回显置于robocopy前,会显示什么内容? – Paul

+0

@ user1844635在每个路径的最后一级删除'\\' – Paul