我有一段PowerShell代码,作为给定文件夹路径上的文件监听器。监听器会启动一个命令行调用到另一个程序中打开并操作文件。
问题在于,如果将任何文件放入此文件夹中,PowerShell代码会立即启动命令行调用。如果文件非常大(比如100+ MB),那么当人们将文件复制到文件夹中时,文件可能仅完成5%的“写入”,此时命令函数就已经启动并尝试打开该文件(但失败了)。
在PowerShell中是否有一种方法可以检查文件是否仍在被写入?这样我就可以构建一个循环,每隔x秒检查一次,并且只有在写入完成后才运行一次?
如果文件正在被写入,它是否保持“锁定”状态?在PowerShell中是否可以检查这一点?
谢谢大家!