确定该文件未被任何其他进程使用

时间:2013-03-27 16:50:21

标签: file powershell-v2.0

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

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

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


foreach ($objItem in $Filesitems)
{

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

1 个答案:

答案 0 :(得分:0)

我可能会尝试使用'lock'文件来避免这种行为。

确保只要进程对文件起作用,该进程还会生成一个(空)file.lock文件,并在进程处理完文件后将其删除。

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