Posted at

MacOSXでファイルの作成日時と更新日時を変更する

More than 5 years have passed since last update.

Mac OSXで setfile コマンドを使うとファイルの作成日時と更新日時を変更できるらしい。


SetFile(1) Mac OS X Developer Tools Manual Pageを見ると、 -d で作成日時が、 -m で更新日時が変更できるようです。

たとえばこんなファイルと作ってみます。

[mazgi@BRUICHLADDICH] $ touch A.LostLogia

[mazgi@BRUICHLADDICH] $ ls -lT A.LostLogia
-rw-r--r-- 1 mazgi staff 0 Jan 28 13:01:13 2014 A.LostLogia
[mazgi@BRUICHLADDICH] $ ls -lUT A.LostLogia
-rw-r--r-- 1 mazgi staff 0 Jan 28 13:01:13 2014 A.LostLogia

早速 setfile -dsetfile -m を実行してみます。

ちなみにMac OSXの date コマンドは -v[+-]num[ymwdHMS] オプションでGNU版dateのように「○年前」「○日後」の指定ができるようです。

[mazgi@BRUICHLADDICH] $ setfile -d "$(date -v-100y +'%m/%d/%Y %H:%M:%S')" A.LostLogia

[mazgi@BRUICHLADDICH] $ setfile -m "$(date -v-64y +'%m/%d/%Y %H:%M:%S')" A.LostLogia
[mazgi@BRUICHLADDICH] $ ls -lUT A.LostLogia
-rw-r--r-- 1 mazgi staff 0 Jan 28 13:14:13 1914 A.LostLogia
[mazgi@BRUICHLADDICH] $ ls -lT A.LostLogia
-rw-r--r-- 1 mazgi staff 0 Jan 28 13:14:23 1950 A.LostLogia

これで100年前に作られて64年前に変更されたことになりました!