Я пытаюсь установить время создания файловой системы для файла в Mac OS, используя скрипт ruby.
В Mac OS X 'ctime' представляет собой последний раз модификации inode, а не создания файлавремя, таким образом, использование File.utime () в ruby для установки ctime не поможет.
Используя эту подсказку [http://inessential.com/2008/12/18/file_creation_date_in_ruby_on_macs], я могу получить время создания файла:
Time.parse(`mdls -name kMDItemContentCreationDate -raw "#{filename}"`)
... но есть идеи, как установить его с помощью ruby?
- ОБНОВЛЕНИЕ -
Хорошо, я думаю, что может на самом деле сделать это с File.utime
in ruby.
Несмотря на то, что ctime технически не используется Mac OS для отслеживания времени создания файла, при использовании utime
для обновления ctime (вместе с mtime , который должен быть установлен одновременно) файловая система волшебным образом обновляет также время создания согласно kMDItemContentCreationDate
.
Таким образом, чтобы установить filename на ctime 1 октября 2010 г.и время 2 октября 2010 года:
File.utime(Time.strptime('011010', '%d%m%y'), Time.strptime('021010', '%d%m%y'), filename)