Mac: ファイルの作成日と更新日を変更するコマンド - setfile
July 31, 2022
のっぴきならない事情があってファイルの作成日・更新日を変更したいときは setfile
コマンドが使えます。
setfile -d "12/24/2020 19:00" example.txt
setfile -m "12/24/2020 19:00" example.txt
-d
オプションで作成日を変更、-m
オプションで更新日を変更します。
日時の指定は mm/dd/yyyy
形式であることにご注意ください。なお時間部分は省略可能です。
その他オプションは以下の通りです。例えば -c
でファイルの作成者が変更できます。
setfile -h
Usage: SetFile [option...] file...
-a attributes # attributes (lowercase = 0, uppercase = 1)*
-c creator # file creator
-d date # creation date (mm/dd/[yy]yy [hh:mm[:ss] [AM | PM]])*
-m date # modification date (mm/dd/[yy]yy [hh:mm[:ss] [AM | PM]])*
-P # perform action on symlink instead of following it
-t type # file type
ファイル変更日だけなら touch コマンドでも可能 #
(これまで touch はファイル作成のコマンドだと思ってました。。。)
ファイルの「変更日」を変えるのであれば touch
コマンドでも可能です。しかし残念ですが「作成日」はこのコマンドでは変更できません。
man touch
で開いたマニュアルが以下。
TOUCH(1) General Commands Manual TOUCH(1)
NAME
touch – change file access and modification times
SYNOPSIS
touch [-A [-][[hh]mm]SS] [-achm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]]
[-d YYYY-MM-DDThh:mm:SS[.frac][tz]] file ...
DESCRIPTION
The touch utility sets the modification and access times of files. If any
file does not exist, it is created with default permissions.
By default, touch changes both modification and access times. The -a and
-m flags may be used to select the access time or the modification time
individually. Selecting both is equivalent to the default. By default,
the timestamps are set to the current time. The -d and -t flags explicitly
specify a different time, and the -r flag specifies to set the times those
of the specified file. The -A flag adjusts the values by a specified
amount.
The following options are available:
-A Adjust the access and modification time stamps for the file by the
specified value. This flag is intended for use in modifying files
with incorrectly set time stamps.
The argument is of the form “[-][[hh]mm]SS” where each pair of
letters represents the following:
- Make the adjustment negative: the new time stamp is
set to be before the old one.
hh The number of hours, from 00 to 99.
mm The number of minutes, from 00 to 59.
SS The number of seconds, from 00 to 59.
The -A flag implies the -c flag: if any file specified does not
exist, it will be silently ignored.
...