0

在我的场景中,我正在检查特定文件夹中的文件并检查它是否存在。如果它存在,我正在对其进行一些操作。但我的问题是这些文件是由其他进程生成的[通常需要 20-30 分钟来生成文件],因此例如在任何情况下,当我检查文件夹中的文件并找到它时。现在,我需要确保它现在不在处理中,以便我可以继续对其进行操作。下面是我正在使用的代码片段:

编辑 我的问题是,我如何识别该文件未被其他进程使用(或正在生成)。

    $Filesitems = Get-ChildItem -Path "D:\SomeFolder\Sub_Folder"


foreach ($objItem in $Filesitems)
{

      if ($objItem.Name.Contains("Process"))
      {
            Write-Host $objItem.Name
      }
}
4

1 回答 1

0

我可能会尝试使用“锁定”文件来避免这种行为。

确保每当进程处理文件时,进程也会生成一个(空的)file.lock 文件,并在进程完成文件处理时将其删除。

在这种情况下,您可以检查是否存在锁定文件,因此您知道另一个进程仍在处理该特定文件

于 2013-03-27T16:53:10.500 回答