1

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

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

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

4

4 回答 4

1

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

于 2013-08-07T23:29:36.607 回答
0

虽然这可能不是最好的方法,但对于复制的情况,如果你制作一个文件句柄 $fh,你可以继续检查文件是否存在-e $fh ,只要你发现文件存在,记录那个时刻。

你可以在这里找到更多有趣的-X $fileHandle东西。

于 2013-08-07T23:54:34.803 回答
0

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

于 2013-08-07T23:20:47.027 回答
0

如果该目录中没有发生任何其他事情,这将是该目录的修改时间。

于 2013-11-18T02:13:53.663 回答