如何查看文件复制是否正在进行

本文关键字:是否 正在进行 复制 文件 何查看 | 更新日期: 2023-09-27 18:15:14

有没有办法知道一个文件在c#中是"正在写入"还是"完成复制"而不试图打开文件?

如何查看文件复制是否正在进行

FileInfo类不支持这些回调。也许您可以编写自己的类来实现这一点。看看http://www.pinvoke.net/default.aspx/kernel32.CopyFileEx

这取决于正在处理文件的进程,例如-如果您已经开始复制并试图找出文件是否完成复制?

如果期望是其他进程正在尝试写文件,并且您希望捕获它的状态?-在这种情况下,技术上是不可能的,因为文件系统不会给出句柄,除非文件完全写入。

如果文件已经存在,并且另一个进程正在写入文件-它将只准备脏获取内容。从技术上讲,文件没有锁,除非进程实际尝试保存/覆盖。

请详细说明这个问题