将文件权限从一个目录复制到另一个目录

将文件权限从一个目录复制到另一个目录

周末,我将公司数据从一个硬盘复制到另一个更大的硬盘。我以为应该有权限复制,但他们没有。

有什么最佳(也是最快捷)的方法可以将最初设置的权限复制到我的新数据上,而无需再次复制所有数据?我的用户现在正在访问数据,因此不想重新复制数据,因为更改可能会丢失。

数据托管在 Windows Server 2008 R2 上

答案1

我认为这会起到作用:

robocopy source destination /E /COPY:SOU /xo /xn /xc /xx /LOG+:F:\Sec.log.

“副本:年代=安全信息 (NTFS ACL),=所有权信息,=审核信息

如果这不起作用,您可以使用此命令来备份 NTFS 权限:

icacls d:\data /save ntfspermissions.txt /t /c

/T开关允许它也获取子文件夹权限。/C开关允许它即使遇到错误也能继续(尽管仍然会显示错误)。

然后使用此命令恢复权限:

icacls d:\ /restore ntfsperms.txt

请注意,在保存权限的命令中,我指定了目标文件夹D:\Data,但在恢复它们时,我仅指定D:\目标。您可能认为D:\在恢复命令中指定目标可能会以某种方式弄乱该级别的其他文件夹的权限,但正如您从 ntfspermissions.txt 输出文件中看到的那样,它仅包含有关数据文件夹和子文件夹的信息,因此这就是它所会发生的所有变化。

答案2

使用 PowerShell:

Get-Acl 'source path' | Set-Acl 'destination path'

答案3

您可以尝试使用Robocopy。据我所知它仍然适用于较新的 Windows 版本。

答案4

xcopy e:\*.* z: /T /E /I /H /K /X /Y

e:是具有多个共享和各种继承块的物理驱动器的根目录。 z:是“新”驱动器,在本例中是映射驱动器。

它只是起作用了,不是为了共享,而是为了权限。

相关内容