如果您曾尝试复制被另一个应用程序锁定的文件,您可能已经看到类似于“该进程无法访问该文件,因为另一个进程已锁定该文件的一部分”的错误消息。 那么,你怎么复制它呢?
自XP以来,Windows已经支持一种称为卷影复制的技术,用于为Vista中的以前版本功能以及系统还原和备份供电。 它所做的是获取文件或驱动器的临时快照,然后允许应用程序从快照中读取,即使其他应用程序正在访问或修改文件。
我们可以做的是使用一个名为HoboCopy的命令行实用程序,它利用此服务来复制文件。
HoboCopy 是一个备份/复制工具。它在名称和功能上都受到Robocopy的启发。然而,它与Robocopy有很大的不同,有两个方面:1、它不像robocopy那样功能齐全。2、它在复制之前使用卷影服务 (VSS) 对磁盘进行“快照”。然后它从快照而不是“活动”磁盘进行复制。
因为 HoboCopy 从 VSS 快照复制,它甚至可以复制被其他程序锁定的文件。此外,某些程序(例如 SQL Server 2005)可以识别 VSS,并且会在拍摄快照之前以一致的状态将它们的状态写入磁盘,从而允许进行某种“实时备份”。被 VSS-unaware 程序锁定的文件仍将在“崩溃一致”状态下复制(即磁盘上发生的任何事情)。这通常比根本无法复制文件要好得多。
使用方法
hobocopy [/statefile=FILE] [/verbosity=LEVEL] [ /full | /增加的 ]
[ /clear ] [ /skipdenied ] [ /y ] [ /simulate ] [/recursive]
src dest [文件 [文件 [...]]
递归地将目录树从 src 复制到 dest。
/statefile - 指定一个文件,其中有关副本的信息
被写。/incremental 时需要此参数
指定,因为最后一个副本的日期和时间是
从这个文件中读取以确定哪些文件应该是
复制的。
/verbosity - 指定 HoboCopy 将发出多少信息
复制过程中。合法值为:0 - 几乎没有
将发出信息。1 - 只有错误信息
将被发射。2 - 错误和警告将是
发出。3 - 错误、警告和一些状态
将发出信息。4 - 大量的诊断
将发出信息。默认级别为 2。
/full - 执行完整复制。将复制所有文件
无论修改日期如何。
/incremental - 执行增量复制。只有具有
更改自上次完整副本将被复制。
指定此开关需要 /statefile 开关
要指定,因为那是最后的日期
从中读取完整副本。
/clear - 递归删除目标目录之前
复制。HoboCopy 之前会要求确认
除非还指定了 /y 开关,否则删除。
/skipdenied - 默认情况下,如果 HoboCopy 没有足够的
复制文件的权限,复制将失败并显示
错误。当指定 /skipdenied 开关时,
尝试复制源文件结果的权限错误
在被跳过的文件中,复制继续。
/y - 指示 HoboCopy 继续,就像用户回答是一样
到任何确认提示。谨慎使用 - 在
与 /clear 开关结合使用,此开关将
导致目标目录被删除而不
确认。
/simulate - 仅模拟复制 - 不拍摄快照且不复制
被执行。
/recursive - 复制子目录(包括空目录)。快捷键:/r
src - 要复制的目录(源目录)。
dest - 要复制到的目录(目标目录)。
file - 要复制的文件(例如 foo.txt)或文件规范(例如 *.txt)。
默认为 *.*。
hobocopy-unstable-64bit-20110505-01.zip — hobocopy 的临时版本,适用于运行 W2K3、Vista、Win7 的 64 位机器
hobocopy-unstable-32bit-20110505-01.zip — hobocopy 的临时版本,适用于运行 W2K3、Vista、Win7 的 32 位机器
hobocopy-unstable-XP-32bit-20110505-01.zip — hobocopy 临时版本,适用于运行 XP 的 32 位机器的
vcredist-2010_x86.exe — 32 位 Visual C++ 运行时。需要 32 位版本的 hobocopy after 1.0
vcredist-2010_x64.exe — 64 位 Visual C++ 运行时。需要 64 位版本的 hobocopy after 1.0。
下载地址
蓝奏云盘
dj5n
复制
百度网盘
6666
复制