googleドライブ内のファイルを他のフォルダに移動する方法

googleドライブにあるファイルを、指定したフォルダに移動する方法である。

移動させるファイルのファイルIDを指定する方法

function moveFileByID(fileID ,destFolderID) {
  const targetFile = DriveApp.getFileById(fileID);
  const destFolder = DriveApp.getFolderById(destFolderID);

  targetFile.moveTo(destFolder);
}
fileID移動させるファイルのファイルID
destFolderIDファイルの移動先のフォルダID

やっていること簡単である。

  1. DriveApp.getFileById()で移動させるファイルのオブジェクトを取り出す。
  2. DriveApp.getFolderById()で移動先のフォルダのオブジェクトを取り出す。
  3. 取り出した移動させるファイルのオブジェクトをmoveTo()で移動先のフォルダのオブジェクトに移動する。

移動させるファイルのファイル名を指定する方法

function moveFileByName(srcFolderID ,targetFileName ,destFolderID) {
  const srcFolderObj  = DriveApp.getFolderById(srcFolderID);
  const destFolderObj = DriveApp.getFolderById(destFolderID);

  const filesObj = srcFolderObj.getFiles();
  while(filesObj.hasNext()) {
    var file     = filesObj.next();
    var fileName = file.getName();

    if(fileName == targetFileName) {
      file.moveTo(destFolderObj);
    }
  }
}
srcFolderID移動元のフォルダID
targetFileName移動させるファイルのファイル名
destFolderID移動先のフォルダID

googleドライブではファイルはファイルIDで管理している。ファイル名からファイルIDを取り出すには、移動させたいファイルがどのフォルダにあるかを指定しなければならない。

やっていることは次のとおりである。

  1. DriveApp.getFolderById()で移動元フォルダと移動先フォルダのオブジェクトを取り出す。
  2. getFiles()で移動元フォルダ内のファイル一覧を取り出す。
  3. getFiles()で取り出したそれぞれのファイルのファイル名が移動させるファイル名と一致するかどうかを確かめる。
  4. ファイル名が一致すればそのファイルのオブジェクトをmoveTo()で移動先のフォルダのオブジェクトに移動する。

コメント

タイトルとURLをコピーしました