【Ruby3.x】File::utime()メソッドの使い方
utimeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
utimeメソッドは、指定された複数のファイルのアクセス時刻(atime)と更新時刻(mtime)を同時に変更するために使用されるメソッドです。
このメソッドは、引数として最初に新しいアクセス時刻を表すTimeオブジェクト、次に新しい更新時刻を表すTimeオブジェクトを受け取ります。その後に、時刻を変更したいファイル名を文字列として1つ以上指定します。具体的には、atimeはファイルが最後に読み込まれた時刻を、mtimeはファイルの内容が最後に変更された時刻をそれぞれ意味します。utimeメソッドは、これらの指定された時刻を、引数として渡されたすべてのファイルに適用しようと試みます。
処理が成功した場合、このメソッドは時刻を変更できたファイルの数を整数として返します。例えば、ファイルのバックアップ時に元のファイルのタイムスタンプを復元したい場合や、特定のファイル操作の履歴を任意の時刻に設定したい場合などに利用できます。ただし、ファイルの変更権限がない場合や、指定されたファイルが存在しない場合には、実行時にエラー(例えばErrno::EACCESやErrno::ENOENTなど)が発生する可能性がありますので注意が必要です。この機能は、ファイルのメタデータを正確に管理する上で不可欠であり、システムエンジニアがファイルのタイムスタンプを操作する際によく活用されます。
構文(syntax)
1File.utime(atime, mtime, file_name, ...)
引数(parameters)
atime, mtime, *filename
- atime: ファイルの最終アクセス時刻を指定する数値(Unixタイムスタンプ)
- mtime: ファイルの最終更新時刻を指定する数値(Unixタイムスタンプ)
- *filename: タイムスタンプを変更する対象のファイル名(複数指定可能)
戻り値(return)
Integer
指定されたファイルまたはディレクトリの最終アクセス時刻と最終更新時刻を更新します。成功した場合は、更新された時刻(UNIXタイムスタンプ)を整数で返します。