在windows 2003 或08平台,复制一个文件夹,到另外一台机器上,希望原有文件夹NTFS的权限不丢失,
注:两台机器同属一个域中。
有什么建议实现的方法?谢谢。
我们可以用xcopy或者robocopy(resource kit工具)命令来实现迁移目录及文件,同时保留NTFS权限,具体方法如下:
使用xcopy
===================================================
在命令行窗口下利用xcopy 源 目标 /o/x/e/h/k 命令来达到我们的目标。
参数说明如下:
/o 复制文件所有权和ACL(即NTFS权限)信息。有些系统设置的帐号、权限没有复制过来,但管理员手动设置的帐号、权限一定会被复制过来。
/x 复制文件审核设置(隐含 /O)。
/e 复制包含空子文件夹
/h 也复制隐藏和系统文件。
/k 复制属性。一般的 Xcopy 会重置只读属性。
举个例子:假设我们要将Windows Server 2003中目录C:/test1中的子目录及文件移到服务器2k3的test2目录(已设置共享)下,那么我们可以在Windows Server 2003上执行下面的命令:
xcopy c:/test1 //2k3/test2 /o/x/e/h/k
命令成功执行后,在Windows Server 2003上test1目录下的子目录及文件就会被移动到Windows Server 2003服务器上的共享目录test2中,NTFS权限会被保留。
更多信息,请参考下面的KB文档
如何将一个文件夹复制到另一个文件夹中并保留其权限
http://support.microsoft.com/kb/323007/zh-cn
Xcopy
http://technet.microsoft.com/en-us/library/cc771254(WS.10).aspx
使用robocopy
===================================================
1.打开命令提示符窗口。(若要执行此操作,请单击“开始”,键入 cmd,然后按 Enter。)
2. 键入以下命令,然后按 Enter:
robocopy drive:/currentfoldername newdrive:/newfoldername/copy:DATSO /MIR
其中:
· drive:/currentfoldername 是要复制的文件夹的驱动器位置和文件夹名
· newdrive:/newfoldername 是副本的新位置和新文件夹名
· /copy:DATSO /MIR 将完整目录树和指定文件夹的 NTFS 权限复制到指定位置
这里还有一个脚本您可以参考:
Use Robocopy to Copy Files and Their Access Permissions
http://gallery.technet.microsoft.com/ScriptCenter/zh-CN/37a410d3-c875-453c-a4ec-6b3d6f71b62b?persist=True