更新LastWriteTime而不关闭FileStream

时间:2019-08-06 07:49:47

标签: powershell streamwriter

我已成功使用StreamWriter增量写入日志文件,并且为了确保实时日志记录,我尝试了AutoFlush和Flush()方法。两者都起作用,日志文件实时更新。但是,直到关闭,LastModified数据才会更改。我想做的一个独立过程是将日志复制到网络位置以进行实时监视,但仅对更改进行监视。因此,我需要查看LastWriteTime才能知道何时进行复制。 我可以为每次写入重新创建StreamWriter,所以我也可以在此之后立即关闭,但这似乎效率很低。有什么方法可以在不关闭流的情况下更新LastWriteTime?

编辑:有趣的是,文件SIZE在不关闭的情况下进行更新,因此Length属性为我提供了更新触发器。我喜欢Microsoft的一致性。 ;)

1 个答案:

答案 0 :(得分:0)

考虑到您拥有完整的文件路径,可以尝试以下操作:

$filePath = "C:\the\path\for\your\streamwrite\file.txt"
$fileReference = (Dir $filePath)
$fileReference.LastWriteTime = Get-Date

它立即更改文件信息。