スポンサーリンク

GASでドライブ内のファイルを移動

Google Apps Script(GAS)で、Googleドライブ内のファイルを移動する方法です。

コード

function move_files_sample() {

  // カレントフォルダの取得
  // ※ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■の部分は移動したいフォルダIDに置き換えてください。
  // ※ ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲の部分は移動したいファイルIDに置き換えてください。
  const folder = moveFile("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■", "▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲");

  Logger.log(folder);
}

/**
 * ファイルの移動
 * @param {String} 移動先のフォルダID
 * @param {String} 移動させるファイルID
 */
function moveFile(folderId, fileId) {

  // 移動させるファイルのDriveApp.Fileオブジェクトを取得
  const file = DriveApp.getFileById(fileId);

  // 指定したフォルダへファイルを追加
  DriveApp.getFolderById(folderId).addFile(file);

  // 移動元のファイルの親フォルダを取得
  const currentFolder = getCurrentFolder(file);

  // 移動元のファイルを削除
  currentFolder.removeFile(file);
}

/**
 * カレントフォルダを取得
 * @param {DriveApp.File} ファイル
 * @return {DriveApp.Folder} フォルダ
 */
function getCurrentFolder(file) {
  
  // 親フォルダを取得
  const parentFolder = file.getParents();

  // 取得したフォルダを返却
  return parentFolder.next();
}

解説

Google Apps Script(GAS)ではファイルを移動させる構文は準備されていません。
そのため、移動先のフォルダへファイルを追加し、移動元のファイルを削除する処理を行っています。

スポンサーリンク
レンタルサーバー
おすすめの記事