非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【GAS】ファイル/フォルダの最終更新日時を取得する方法

   

Googleドライブでファイルの更新日時を取得するgetLastUpdated()メソッドの使い方を紹介します。自分自身のファイル更新日だけじゃなく保存されているフォルダや、そのフォルダ内のすべてのファイルの更新日も取得する方法も紹介します。

尚、今回紹介する方法はGAS単体では使うことが出来ません。SpreadsheetAppクラスを使って自分のファイルIDを取得しているためです。GAS単体で利用する場合はファイルIDやフォルダIDを直接指定する必要がありますので適宜修正してください。

自分のファイル更新日取得

まず自分自身のファイルIDを取得し、そこからファイルオブジェクトを取得すればメソッドで更新日を取得することが出来ます。

var id = SpreadsheetApp.getActiveSpreadsheet().getId();
var file = DriveApp.getFileById(id);
var date = Utilities.formatDate(file.getLastUpdated(), "JST", "yyyy/MM/dd HH:mm:ss");
console.log("ファイル名: " + file.getName() + "\n更新日: " + date);
 

 

自分の保存フォルダ更新日取得

ファイルオブジェクトのgetParents()メソッドで保存されているフォルダオブジェクトが取得でき、そのフォルダの更新日を取得することが出来ます。

 

var id = SpreadsheetApp.getActiveSpreadsheet().getId();
var file = DriveApp.getFileById(id);
var folder = file.getParents().next();
var date = Utilities.formatDate(folder.getLastUpdated(), "JST", "yyyy/MM/dd HH:mm:ss");
console.log("フォルダ名: " + folder.getName() + "\n作成日: " + date);
  

 

フォルダ内のすべてのファイル更新日取得

フォルダオブジェクトからファイル一覧を取得することができるので、ループですべてのファイルを得ることでそれぞれの更新日を取得することが出来ます。

var id = SpreadsheetApp.getActiveSpreadsheet().getId();
var file = DriveApp.getFileById(id);
var folder = file.getParents().next();
files = folder.getFiles();
while(files.hasNext()) {
  var file = files.next();
  var date = Utilities.formatDate(folder.getLastUpdated(), "JST", "yyyy/MM/dd HH:mm:ss");
  console.log("ファイル名: " + file.getName() + "\n作成日: " + date);
}
 

 

 

スポンサーリンク

 - Google Apps Script