在不关闭文件流的情况下更新 LastWriteTime



我成功地使用 StreamWriter 以增量方式写入日志文件,并确保实时日志记录,我尝试了自动刷新和 Flush(( 方法。两者都有效,日志文件实时更新。但是,上次修改时间数据在关闭之前不会更改。我想做的一个单独的过程是将该日志复制到网络位置以进行实时监控,但仅限于更改。所以我需要查看 LastWriteTime 才能知道何时复制。 我可以猜到每次写入都重新创建 StreamWriter,所以我也可以在之后立即关闭,但这似乎效率很低。有没有办法在不关闭流的情况下更新 LastWriteTime?

编辑:有趣的是,文件大小在没有关闭的情况下更新,因此长度属性为我提供了更新的触发器。我喜欢Microsoft一致性。;)

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

$filePath = "C:thepathforyourstreamwritefile.txt"
$fileReference = (Dir $filePath)
$fileReference.LastWriteTime = Get-Date

它会立即更改文件信息。

最新更新