假设某个文件被某个其他程序复制或移动到目录中。我想得到这个文件被复制/移动到这个文件夹的时间。也就是说,我想要文件首次出现在这个目录中的时间。
请注意,此文件在移动/复制之前可能存在,或者可能不存在。
这不是File :: stat可以获得的任何时间信息。感谢。
答案 0 :(得分:1)
您可能会发现File::ChangeNotify
有助于跟踪文件和目录的更改。我建议查看incron,它可以跟踪文件系统中各种事件和文件的更改。
答案 1 :(得分:0)
我的猜测是你想要在第一次写入文件后关闭文件的时间。这可能是也可能不可用,并且将是特定于操作系统的。大多数操作系统跟踪文件创建,最后修改和最后读取(或其中的一些子集)。如果这些都不适合你,除非你控制在你的应用程序代码中创建和编写文件,否则你运气不好,在这种情况下你可以使用你喜欢的任何东西。
答案 2 :(得分:0)
虽然它可能不是最好的方法,
但对于复制案例,如果你使文件句柄$ fh,
您可以使用-e $fh
继续检查文件是否存在
只要您发现该文件存在,请记录该时刻。
您可能会发现更有趣的-X $fileHandle
内容here。
答案 3 :(得分:0)
如果该目录中没有其他任何内容,则这将是目录的修改时间。