TFileクラスを使ってファイルの作成日時、更新日時、アクセス日時、属性を取得、設定する ~Delphiでお手軽プログラミング

TFileクラスを使ってファイルの作成日時、更新日時、アクセス日時、属性を取得、設定する ~Delphiでお手軽プログラミング

uses System.IOUtils;
が必要です。

uses System.IOUtils;

procedure TForm1.Button1Click(Sender: TObject);
var dt:TDateTime;
    attr:TFileAttributes;
begin
  //ファイルの作成日時を取得する
  dt:=TFile.GetCreationTime('C:\test\file.txt');
  memo1.Lines.Add('作成日時:'+FormatDateTime('yyyy/mm/dd hh:nn:ss',dt));

  //ファイルの更新日時を取得する
  dt:=TFile.GetLastWriteTime('C:\test\file.txt');
  memo1.Lines.Add('更新日時:'+FormatDateTime('yyyy/mm/dd hh:nn:ss',dt));

  //ファイルのアクセス日時を取得する
  dt:=TFile.GetLastAccessTime('C:\test\file.txt');
  memo1.Lines.Add('アクセス日時:'+FormatDateTime('yyyy/mm/dd hh:nn:ss',dt));

  //ファイルの更新日時を2022/01/01 00:00:00に設定する
  TFile.SetLastWriteTime(
    'C:\test\file.txt',
    EncodeDate(2022,1,1)+EncodeTime(0,0,0,0)
  );

  //ファイルのアクセス日時を2022/01/01 00:00:00に設定する
  TFile.SetLastAccessTime(
    'C:\test\file.txt',
    EncodeDate(2022,1,1)+EncodeTime(0,0,0,0)
  );


  //ファイルの属性を読み込む
  attr:=TFile.GetAttributes(
    'C:\test\file.txt',
    true
  );

  //ファイルに「読み取り専用」属性を追加する
  attr:=attr + [TFileAttribute.faReadOnly];
  TFile.SetAttributes('C:\test\file.txt', attr);
end;