windows 10提供了许多备份和恢复数据的方法,甚至是整个系统。 例如,有文件历史记录,系统还原,新鲜启动和系统映像恢复仅举几例。
如果您对数据的安全性有所了解,那么您已经在使用一个或多个windows 10的备份工具,很有可能。但是,您可能希望将数据文件的附加副本放在安全的位置。虽然您可以通过拖放将文件和文件夹复制到外部硬盘驱动器来轻松实现,但这可能是一个繁琐的操作。
幸运的是,Robocopy提供了80多个命令行参数和开关,可以创建强大的数据备份操作。为了帮助您获得成功,我深入研究了Robocopy的命令行开关,并开发了一个漂亮的小脚本,可以用来创建用户配置文件文件夹(C:\ Users \ YourName)中所有数据文件的精确镜像副本。我们来看看吧。
构建命令行
对于我的例子,我将把用户配置文件文件夹C:\ Users \ Greg Shultz的数据文件内容备份到一个名为TheBackup的文件夹中,该文件夹被分配到驱动器号为F的外部硬盘上。(你'当然,用你自己的名字和路径替换它。)我的基本命令从以下开始:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup"
现在,我想备份源中的每个文件夹,甚至是任何空文件夹,因为它们可能是未来数据的占位符。我也不想在我的硬盘上删除备份上的文件。虽然我可以使用/ S和/ PURGE开关实现我的目标,但是/ MIR开关让我可以用一个开关来完成这两个任务。我的命令现在是:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup" /MIR
C:\ Users \ Greg Shultz文件夹包含我不想要的几个隐藏的系统文件和文件夹,或者需要在我的Robocopy操作下备份 - 它们由其他备份工具拾取。 例如,我不需要备份NTUSER.DAT文件,也不需要备份AppData文件夹的内容。 另外,C:\ Users \ Greg Shultz文件夹包含一些我不需要备份的连接点。 windows 10使用连接点将各种操作系统文件夹链接到用户配置文件文件夹。 例如,Cookie文件夹和SendTo文件夹通过连接点链接到用户配置文件文件夹。
我将使用/ XA:SH开关排除隐藏的系统文件,我可以使用/ XD AppData来排除整个AppData文件夹。 然后我将使用/ XJD开关排除所有的连接点。 我的命令现在是:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup" /MIR /XA:SH /XD AppData /XJD
当它遇到正在使用的文件时,Robocopy最方便的功能之一就起作用了。 当它执行时,Robocopy将停止并等待该文件关闭,以便它可以继续复制操作。 它将重试每30秒复制一次文件。 默认的重试次数是100万(不开玩笑!)。 因为这很可能会阻止备份操作的完成,您应该将其重置为合理的数字。
要更改重试次数,您将使用/ R开关。 要更改重试之间的等待时间,您将使用/ W开关。 我选择了五次重试,等待15秒钟。 这样,经过合理的重试次数等待,Robocopy将继续前进。 我的命令现在是:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup" /MIR /XA:SH /XD AppData /XJD /R:5 /W:15
此时,我准备添加多线程交换机,这使得Robocopy可以执行多线程复制选项。 更具体地说,通过多线程功能,Robocopy可以并行复制多个文件,这将导致非常快的备份操作。
多线程开关为:/ MT [:n],其中n为1到128之间的数字,表示要使用的线程数。 请记住,n是可选的,默认情况下,/ MT开关将使用八个线程。 我在我的例子中使用32个线程,因为我发现它是一个好的起点。 我的命令现在是:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup" /MIR /XA:SH /XD AppData /XJD /R:5 /W:15 /MT:32
像所有命令行工具一样,Robocopy可以在命令提示符窗口中了解操作的状态。 但是,您可能希望在日志文件中自定义并记录该反馈。 我喜欢整个画面,所以我会使用/ V开关。 但是,我真的不需要知道每个文件副本的进度百分比,所以我也使用/ NP开关。 然后创建我的日志文件,我将使用/ LOG开关,每次都覆盖现有的日志文件。 现在我的命令是:
Robocopy "C:\Users\Greg Shultz" "F:\TheBackup" /MIR /XA:SH /XD AppData /XJD /R:5 /W:15 /MT:32 /V /NP /LOG:Backup.log
创建和使用您的脚本
现在您知道脚本是如何工作的,哪些开关是必需的,您可以启动记事本,键入命令,并将文件另存为RobocopyBackup.cmd。 为了确保脚本和打开的日志文件不会干扰备份,我在根目录中创建了一个名为BackupTool(C:\ BackupTool)的文件夹,并将脚本保存在该文件夹中。
在每个备份操作后,您将在与脚本相同的目录中找到日志文件。 请记住,日志文件是一个简单的文本文件,它可以大于记事本可以处理的。 因此,您可能需要使用写字板或其他文字处理器来打开和查看日志文件。
现在,每当你想做一个额外的备份,你可以双击RobocopyBackup.cmd启动它。 完成后,您可以检查Backup.log文件。 您也可以使用任务计划程序来定期自动运行RobocopyBackup.cmd。