2011-01-10 65 views
0

创建将一批文件从一个目录移动(剪切)到另一个目录的方法时,需要注意什么?以编程方式移动一批文件的安全方法?

假设方法签名是Move(filter, sourceFolder, destinationFolder, overwrite)。我需要注意什么以避免数据丢失的风险,尤其是在覆盖原始文件和考虑删除源文件时?

几个可能的情况我很担心:移动正在进行时发生错误,移动文件但该文件以某种方式损坏,删除同名文件以允许新文件移动但移动时发生错误新文件等

我正在使用.net的System.IO命名空间进行移动操作。

+0

你能够使用交易吗? – Gabe 2011-01-10 06:53:35

+0

什么是交易? – 2011-01-10 06:55:29

回答

0

没有交易,最安全的方法是复制,验证然后删除。如果您想要移动每个文件(这是Windows如何操作,移动操作可能会失败,并且只移动一半文件),或者仅允许移动整个批处理,或者根本不移动整个批处理,这取决于您。

您必须决定如何响应移动过程中已被修改的文件,之后无法删除的源文件或在执行回滚时已打开的目标文件。