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