如何在Windows上使用Ruby获取文件创建时间?

nit*_*ria 8 ruby windows

如何在Windows上使用Ruby获取文件创建时间?

File.ctime 应该返回更改时间.

dir /tc 在cmd.exe中返回创建时间与其他一堆东西.

有没有比执行它和解析更好的方法?

mae*_*ics 11

显然,文件的"ctime"("创建"或"更改"时间)元数据属性是系统相关的,因为某些系统(例如Windows)存储创建文件的时间(其"出生日期")和其他(Posix)系统,例如Linux)跟踪上次更新的时间.Windows使用ctime属性作为实际创建时间,因此您可以使用ctimeRuby中的各种函数.

文件类有一个名为静态和实例方法ctime,其返回的最后修改时间和文件::统计有一个实例方法(该方法通过,因为它们发生不跟踪更改不同).

File.ctime("foo.txt") # => Sun Oct 24 10:16:47 -0700 2010 (Time)

f = File.new("foo.txt")
f.ctime # => Will change if the file is replaced (deleted then created).

fs = File::Stat.new("foo.txt")
fs.ctime # => Will never change, regardless of any action on the file.
Run Code Online (Sandbox Code Playgroud)

  • "ctime"不是**在Linux上的创建时间,而是inode或文件更改时间.每当文件移动,更改,权限或所有者被更改时,它都会更新. (3认同)