初心者でも簡単!GASでドライブ内のファイル・フォルダ名を検索する方法

GASでドライブ内のファイルやフォルダ名を検索する方法がわからないんだ… 誰か助けてくれないかな?
猫男
猫男
catman
catman
catmanが来たからもう安心だ。GASでGoogleドライブのファイルやフォルダ名を検索する方法を教えよう。

GASでGoogleドライブのファイル・フォルダ名を検索する方法

GASを使えばGoogleドライブ内のファイルやフォルダを簡単に検索できる。次のコードを見てくれ。


function searchFilesAndFolders() {
  const searchTerm = "特定のファイル名やフォルダ名";
  const files = DriveApp.searchFiles('title contains "' + searchTerm + '"');
  const folders = DriveApp.searchFolders('title contains "' + searchTerm + '"');

  while (files.hasNext()) {
    const file = files.next();
    Logger.log("File found: " + file.getName());
  }

  while (folders.hasNext()) {
    const folder = folders.next();
    Logger.log("Folder found: " + folder.getName());
  }
}

このスクリプトでは、GASのDriveAppクラスを使用してGoogleドライブ内のファイルやフォルダを検索している。

GASスクリプトの解説

GASのスクリプトは初心者にも理解しやすく直感的に書かれている。

DriveAppクラス

DriveAppクラスはGoogleドライブ内のファイルやフォルダを操作するためのもので、DriveApp.searchFiles()DriveApp.searchFolders()メソッドを使い、キーワードで検索を行う。

メソッドの動き

  • searchFiles()searchFolders()は、それぞれファイルとフォルダを検索し、title containsで指定した文字列が名前に含まれているものを探し抽出する。
  • 検索結果を繰り返し処理するために、hasNext()next()メソッドを使い1件ずつ取り出す。
  • Logger.log()を用いて結果をコンソールに出力する。これで、見つけたファイルやフォルダの名前を確認できる。
スクリプトが思ったより簡単で安心したよ。これなら僕にもできそうだ!
猫男
猫男
catman
catman
その意気だ。ただし、検索キーワードが部分一致することを覚えておくといい。強力な検索エンジンを手に入れたようだな。

練習問題

GASを使って、Googleドライブ内で特定のフォーマット(例: .docx、.pdf)のファイルだけを検索するスクリプトを書いてみよう。

 

解答と解説


function searchSpecificFormatFiles() {
  const fileType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; // .docx の MIMEタイプ
  const files = DriveApp.searchFiles('mimeType = "' + fileType + '"');

  while (files.hasNext()) {
    const file = files.next();
    Logger.log("File found: " + file.getName());
  }
}

このスクリプトでは、mimeTypeを使い、特定のファイル形式(この場合は.docx)のみを検索することができる。DriveApp.searchFiles()のクエリを工夫して使い分けることで、より高度な検索が可能だ。

簡単でありながら非常に効果的なテクニックだ。この方法を使って、目的に応じたファイルを素早く見つけよう。