备份/复制Windows中“正在使用”或“锁定”的文件(命令行)

如果您曾经尝试复制被其他应用程序锁定的文件,您可能会看到类似于“该进程无法访问该文件,因为另一个进程已锁定该文件的一部分”的错误消息。那么你到底是怎么复制的呢?

自XP以来,Windows一直支持一种名为卷影复制的技术,该技术用于支持Vista中的早期版本功能以及系统还原和备份。它所做的是拍摄文件或驱动器的临时快照,然后允许应用程序读取快照,即使其他应用程序正在访问或修改该文件。

我们可以做的是使用一个名为HoboCopy的命令行实用程序,该实用程序利用此服务来复制文件。

了解必备条件

HoboCopy和大多数其他备份实用程序在Windows中使用两项服务,您需要验证是否未禁用这些服务:

卷影复制。 Microsoft软件卷影复制提供程序

它们可以保留为手动启动,因此不需要一直运行。Hobocopy将在需要时自动启动这两项服务,完成后将重新关闭卷影复制服务。

使用HoboCopy备份/复制单个文件

语法有点奇怪,因为HoboCopy实际上是用来备份整个文件夹集的。我们可以使用它来备份单个文件,方法是在末尾传递filename参数。

注意:在Windows Vista上,您需要右键单击“开始”菜单中的“命令提示符”,然后选择“以管理员身份运行”来启动管理员模式命令提示符。

语法:

例如,我希望将c:\users\geek\mail\outlook.pst文件备份到d:\backups\outlook.pst。下面是我要使用的语法:

使用HoboCopy备份整个目录

一个更有用的任务是备份我的整个用户文件夹,可能是为了安全起见,备份到外部硬盘驱动器上。为此,我们需要添加几个命令行参数。

语法:

让我们继续使用相同的示例,我希望将我的整个用户目录备份到d:\backups\,因此我将使用以下命令:

此命令可能需要很长时间才能完成,因此您可能想要打个盹之类的。最后,您应该有一个近乎完美的目录…副本。如果出现任何权限错误,系统会提醒您未复制的文件。实际上,用户目录中的任何文件都不应该有这个问题。

使用HoboCopy增量备份驱动器

Hobocopy还支持增量备份文件,因此它将只复制自上次备份以来更改过的文件。这与rsync等实用程序的工作方式类似,不同之处在于hobocopy将上次备份日期存储在您需要在命令行上指定的文件中。

语法:

示例:

第一次运行此命令时,您需要使用/FULL而不是/INCRENTIAL,否则将收到错误,因为状态文件尚未创建。之后,您可以使用/Incremental开关运行增量备份。

作为计划任务的一部分,这将是自动备份一组文件夹的绝佳方式。

从sourceforge.net下载HoboCopy

相关文章