2

好吧,几乎所有东西都在标题中。我有一个 dbf 文件,即使它被另一个程序(如 DBU)锁定(编辑),我也想复制它。

如果我尝试使用 shutil.copy 打开或复制,我会得到

>>> f = open('test.dbf', 'rb')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 13] Permission denied: 'test.dbf'

我知道它被锁定在 Windows 级别,因为我无法通过批处理或 Windows 资源管理器复制它。但是有什么方法可以复制这样的文件吗?

4

2 回答 2

1

一般来说,你不能。即使您要绕过锁定机制,另一个进程也可能正在写入文件,并且您将拍摄的快照可能处于不一致的状态。

根据您的用例,卷影复制可能是相关的。

于 2011-02-17T13:15:55.383 回答
0

Joakim Schicht有一个工具可以复制任何锁定的文件。唯一的问题是某些 AV 将其标记为恶意,而实际上并非如此。根据您的用例,这可能是一个解决方案。

https://github.com/jschicht/RawCopy

于 2021-03-16T15:31:24.503 回答