复制文件*不*取得所有权

Jon*_*art 6 backup windows-7 ntfs

我正在从安装了 XP 的硬盘驱动器上手动备份数据,因为我怀疑该驱动器出现故障。我要复制的文件,但我希望更改所有者(或任何权限),原来的驱动器上,才能够做到这一点。有没有办法做到这一点?

Jon*_*art 12

事实证明,Robocopy可以非常轻松地做到这一点。只需/B在命令行中包含该选项,即可在备份模式下复制文件。这要求您以管理员身份运行。

我的命令行:

robocopy /MIR /B "E:\Documents and Settings" "C:\DeadDriveBackup\Documents and Settings"
Run Code Online (Sandbox Code Playgroud)


Bli*_*que 7

给定的答案对我不起作用;这样做了。

Robocopy 有一个/COPY参数用于指定要复制的文件部分。提供给拷贝是d ATA,一个ttributes,imestamps,š ecurity信息(NTFS ACL)的,直径: wnership信息,和ü谛听信息。如果您希望将一个目录中的所有内容完美地复制到另一个目录,请使用以下命令:

robocopy /E /B /COPYALL "C:\One" "C:\Two"
Run Code Online (Sandbox Code Playgroud)

我们来分析一下:

  • /E复制所有文件,包括空目录。这类似于/MIR,但不会删除目标中的任何内容
  • /B 以“备份模式”复制,赋予 Robocopy 覆盖 ACL(文件权限)的权限。
  • /COPYALL是 的别名/COPY:DATSOU,它复制所有文件数据,包括文件所有权和权限 (ACL) 数据。

您是否正在复制用户配置文件?

我是,还有一些额外的警告。默认 Windows 用户配置文件包含目录连接循环,并且 Robocopy 无法配置为创建新连接而不是跟随它们。上面的 Robocopy 命令将失败并创建难以删除的目录树,因此使用此命令将排除连接。

robocopy /E /B /COPYALL /XJ "C:\One" "C:\Two"
Run Code Online (Sandbox Code Playgroud)

为了兼容性,您可能应该在用户配置文件中重新创建默认目录连接:

mklink /J "Application Data" "AppData\Roaming"
mklink /J "Cookies" "AppData\Local\Microsoft\Windows\INetCookies"
mklink /J "Local Settings" "AppData\Local"
mklink /J "My Documents" "Documents"
mklink /J "NetHood" "AppData\Roaming\Microsoft\Windows\Network Shortcuts"
mklink /J "PrintHood" "AppData\Roaming\Microsoft\Windows\Printer Shortcuts"
mklink /J "Recent" "AppData\Roaming\Microsoft\Windows\Recent"
mklink /J "SendTo" "AppData\Roaming\Microsoft\Windows\SendTo"
mklink /J "Start Menu" "AppData\Roaming\Microsoft\Windows\Start Menu"
mklink /J "Templates" "AppData\Roaming\Microsoft\Windows\Templates"
attrib /L +S +H +I "Application Data"
attrib /L +S +H +I "Cookies"
attrib /L +S +H +I "Local Settings"
attrib /L +S +H +I "My Documents"
attrib /L +S +H +I "NetHood"
attrib /L +S +H +I "PrintHood"
attrib /L +S +H +I "Recent"
attrib /L +S +H +I "SendTo"
attrib /L +S +H +I "Start Menu"
attrib /L +S +H +I "Templates"
Run Code Online (Sandbox Code Playgroud)