文件在实时系统中

时间:2014-01-22 06:42:24

标签: powershell informatica

我有一个实时创建多个平面文件的场景(文件数量是动态的) 我只需要加载那些完全写入的文件

我需要一个脚本逻辑或Informatica中的任何东西,通过它我可以检查文件是否正在被写入

My Source是一个JMS,工作流创建文件是一个无限运行,它实时读取数据并将其写入文件。

请帮忙

1 个答案:

答案 0 :(得分:0)

这应该为您提供一个可以获得写锁定的文件列表。

Get-ChildItem *.* | foreach {
 try  {
       [IO.File]::OpenWrite($_.fullname).close()
       $_
      }

    catch { }
 }

如果应用程序已完成对文件的写入并将其关闭,您将能够获得写锁定,并且Try块将该fileinfo对象输出到管道。如果它仍然被打开并被写入,[IO.File]::OpenWrite($_.fullname)将抛出一个错误,掉到catch块(什么都不做),然后继续下一个。