我想使用 Directory.Move 移动目录及其所有子目录。
不过,在此之前,我想检查该目录及其子目录中的任何文件和子文件是否正在被其他进程使用。
然后,在移动之前,我想将目录锁定到其他进程,这样我就可以确保 Directory.Move 不会抛出任何异常。
实现这一目标的最佳方法是什么?
我想避免逐个文件检查单个文件的使用情况,因为软件检查时未使用该文件并不意味着移动过程开始时不会使用该文件。
没有办法锁定文件夹(+子文件夹),所以你总是会得到一个竞争条件 http://en.wikipedia.org/wiki/Race_condition并且不能保证不会有例外。
在检查和移动之间总是有可能发生一些变化,因此事情可能会出错。
只需尝试移动该文件夹,如果不成功,请稍后重试。
也可以看看:Delphi:检查文件是否正在使用 https://stackoverflow.com/questions/502996/delphi-check-whether-file-is-in-use(这是一个类似的问题,忽略Delphi部分)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)