用Robocopy镜像压缩文件的硬盘

我试图用较less的空间镜像新磁盘上的现有磁盘。 文件结构,属性和ACL与源磁盘上的文件结构,属性和ACL完全一样非常重要。

为此我尝试了robocopy.exe

 robocopy $sourceDisk $destinationDisk /mir /XD "System Volume Information" "`$RECYCLE.BIN" /copyall /r:1 /NP /NFL 

该命令将具有属性,ACL等的所有文件夹和文件复制到目标磁盘上,除了压缩属性,即在源磁盘上压缩的文件或文件夹在目标磁盘上不再压缩。 此属性缺失。

有没有一个selectrobocopy这样做(我没有find它)。 还是有其他的方法可以将磁盘或文件结构复制到另一个磁盘上?

我不知道任何支持复制压缩属性的robocopy版本。 (我刚刚testing了Windows Server 2012 R2附带的版本,以确保比我的Windows 7笔记本电脑更新的版本仍然不包括此行为。)

如果你打算使用robocopy你需要编写一些脚本来跟进压缩需要压缩的文件/文件夹。 (我可以想象某种脚本会使用robocopy/ia命令行参数来首先复制压缩文件,压缩所有复制的文件,然后使用/xa参数再次运行robocopy复制非压缩文件文件)。

就复制磁盘的“确切结构”而言,一个扇区对扇区的复制将是一条路。 像dd这样的工具可以让你进行卷的部门之间的复制。

如果你对“精确结构”的定义不太严格,你只需要查找目录结构,文件数据,属性(包括压缩)和ACL的精确副本,我就会看一个磁盘映像工具。 微软的ImageX工具就是一个例子。 (您可以从各种软件包中获得Microsoft的ImageX – Windows自动安装工具包包含一个副本,我相信它也包含在Windows部署服务中)。 也有很多第三方工具可以满足这个要求。

我能用LTR-Data的命令行工具strarc.exe来pipe理这个问题。

据我所知,该工具将文件复制到比robocopy更低的层上。 所有的属性,ACL的确切的来源,如源 – 甚至时间戳。 在哪里也正确复制的路口。

命令是

 $srcDisk = "Y:" $dstDisk = "Z:" cmd /c "C:\temp\strarc.exe -cjd:$srcDisk | C:\temp\strarc -s:8 -xd:$dstDisk" 

它使$srcDisk的副本,即Y:到$dstDisk ,即Z:包括路口并忽略关于8.3 compability( -s:8 )的消息。

我推荐这个工具通过命令行精确备份。