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)ではファイルを移動させる構文は準備されていません。
そのため、移動先のフォルダへファイルを追加し、移動元のファイルを削除する処理を行っています。