Как установить время создания файла с помощью ruby ​​в Mac OS?

Я пытаюсь установить время создания файловой системы для файла в Mac OS с помощью скрипта ruby.

В Mac OS X «ctime» представляет время последней модификации inode, а не время создания файла, поэтому использование Ruby File.utime () для установки ctime не поможет.

Используя эту подсказку [ http://inessential.com/2008/12/18/file_creation_date_in_ruby_on_macs ] я могу получить время создания файла:

Time.parse(`mdls -name kMDItemContentCreationDate -raw "#{filename}"`)

... но любая идея о том, как установить это с использованием ruby?

- ОБНОВЛЕНИЕ -

Хорошо, я думаю, что могу действительно сделать это с File.utime в ruby.

Хотя ctime технически не используется Mac OS для отслеживания времени создания файла, при использовании utime для обновления ctime (вместе с mtime ], который должен быть установлен одновременно) файловая система, похоже, волшебным образом также обновляет время создания согласно kMDItemContentCreationDate .

Итак, чтобы установить для filename ctime 1 октября 2010 г. и mtime 2 октября 2010 г .:

File.utime(Time.strptime('011010', '%d%m%y'), Time.strptime('021010', '%d%m%y'), filename)

9
задан Charles 28 August 2012 в 15:49
поделиться