我需要先创建然后通过 powershell 复制数百个文件夹和文件(首先在本地存储上创建它们,然后将它们复制到远程存储)。但是,当我的 foreach 循环运行时,由于“另一个进程”阻塞了文件/文件夹,每 40 次左右的写入尝试都会失败。我目前在每个文件创建(100 毫秒)之间使用简单的睡眠解决了这个问题。但是,我想知道是否没有更好的方法来做到这一点?特别是在复制多个文件时,睡眠将取决于网络延迟,对我来说似乎不是一个好的解决方案。
有没有办法在开始另一个操作之前“等待”文件的写操作完成?或者检查一个文件是否仍然被一个进程阻止并等到它再次空闲?