Macでファイルのタイムスタンプを変更する

タイムスタンプとは

まずおさらいですが、PC上で作られ、編集されたファイルには自動的に作成日(created), 編集日(modified)といったタイムスタンプが付加されます。

通常は自動で付加されたタイムスタンプを変える必要はありませんが、現在時刻設定が間違っていた場合、タイムスタンプも間違ってしまいます。

MacWindowsと行った普段使っているPCではあまり起こりませんが、デジカメなど電池が切れると時刻設定がリセットされてしまう機器を使う場合は注意です。

間違った時刻が記録されてしまった場合は以下の方法でで修正できます。

編集日を変更する

編集日を変更したい場合、実際にファイルを開いてなにか編集して保存してもOKですが、touchコマンドを使えば簡単に出来ます。

usage: touch -t [[CC]YY]MMDDhhmm[.SS] file

  • ex)

$ touch -t 201506301000 hoge.txt

作成日を変更する

ファイル作成日を変更するにはXcode Command Line Toolsに含まれるSetFileコマンドを使います。
Xcode Command Line Toolsをインストールしていない場合は先にインストールする必要があります。

yosemiteだとコマンドを打てばインストールを促すダイアログが出るっぽいです。
参照) Xcode Command Line Tools · macOS Sierra · Install

SetFileコマンドが使えるようになったら以下コマンドで作成日を変更出来ます。

usage: SetFile -d mm/dd/[yy]yy [hh:mm[:ss] [AM | PM]])* file

  • ex)

$ SetFile -d "06/30/2015 10:00" hoge.txt

以上です。