2015-11-02 970 views
1

如何获取创建文件的时间?用lua获取文件创建时间

我发现的: Lua的lfs库包含一个获取文件属性的方法。然而,这似乎接近回答我的问题,仅仅是那些:

  • 访问 - 上次访问时间的
  • 修改 - 最后数据的时间变更
  • 变化 - 上次更改文件状态的时间

他们都没有通过他们的描述专门检查创建时间。 我一直在谷歌搜索一段时间,无法找到答案。

编辑:我在一个Windows系统。

回答

1

当在命令dir的上下文中使用时,Windows命令行提供参数/T:C以显示文件创建日期/时间。

所以,你可以使用io.popen功能如下:

local sOut = io.popen("dir /T:C *files*", "r") 
local sData = sOut:read "*a" 
-- process sData as string to filter content as your needs 
+0

我从来没有想过我可以这样做。 – Xonok

0

至少在Unix上,你不能。有三个与时间相关的成员struct stat

  • st_atime上次访问的时间。
  • st_mtime上次数据修改的时间。
  • st_ctime上次状态更改的时间。

有人误解了st_ctime文件创建时间,但事实并非如此。 Unix风格的系统中不保留文件创建时间。

最接近的是最后状态改变时候,你可以用lfs library得到,或者,因为没有第三方零件库的解决方案读取How can I get last modified timestamp in Lua

+0

我忘了前面提到它,但我是一个Windows系统上。 – Xonok