如何使用Perl获取文件到达目录的时间?

时间:2013-08-07 23:11:46

标签: macos perl file timestamp

假设某个文件被某个其他程序复制或移动到目录中。我想得到这个文件被复制/移动到这个文件夹的时间。也就是说,我想要文件首次出现在这个目录中的时间。

请注意,此文件在移动/复制之前可能存在,或者可能不存在。

这不是File :: stat可以获得的任何时间信息。感谢。

4 个答案:

答案 0 :(得分:1)

您可能会发现File::ChangeNotify有助于跟踪文件和目录的更改。我建议查看incron,它可以跟踪文件系统中各种事件和文件的更改。

答案 1 :(得分:0)

我的猜测是你想要在第一次写入文件后关闭文件的时间。这可能是也可能不可用,并且将是特定于操作系统的。大多数操作系统跟踪文件创建,最后修改和最后读取(或其中的一些子集)。如果这些都不适合你,除非你控制在你的应用程序代码中创建和编写文件,否则你运气不好,在这种情况下你可以使用你喜欢的任何东西。

答案 2 :(得分:0)

虽然它可能不是最好的方法, 但对于复制案例,如果你使文件句柄$ fh, 您可以使用-e $fh继续检查文件是否存在 只要您发现该文件存在,请记录该时刻。

您可能会发现更有趣的-X $fileHandle内容here

答案 3 :(得分:0)

如果该目录中没有其他任何内容,则这将是目录的修改时间。