通过 ruby 进行编辑时如何"not to change"文件属性?



我使用 ruby -pi~ -e "gsub(/\"/, \"'\")" "#{dir}\*.csv" 将目录#{dir}的所有文件中的双引号替换为单引号

它运行良好,但它将文件的日期/时间更改为当前日期/时间。

如何保留文件的时间/日期属性?

  • 红宝石 1.9.3P194 (2012-04-20) [i386-mingw32]
  • 视窗7

你不能,但你可以像这样将修改时间设置回更改之前

original_time= File.mtime('myfile')
p original_time
date = Time.now - 86400
File.utime(date, date, 'myfile')
p File.mtime('myfile')
File.utime(original_time, original_time, 'myfile')
p File.mtime('myfile')
#2012-10-04 02:28:25 +0200
#2012-10-03 02:28:25 +0200
#2012-10-04 02:28:25 +0200

utime(atime, mtime, file_name,...) →整数单击以切换源将每个命名文件的访问和修改时间设置为前两个参数。返回参数列表中的文件名数。

最新更新