googleドライブにあるファイルを、指定したフォルダに移動する方法である。
移動させるファイルのファイルIDを指定する方法
function moveFileByID(fileID ,destFolderID) {
const targetFile = DriveApp.getFileById(fileID);
const destFolder = DriveApp.getFolderById(destFolderID);
targetFile.moveTo(destFolder);
}
fileID | 移動させるファイルのファイルID |
destFolderID | ファイルの移動先のフォルダID |
やっていること簡単である。
- DriveApp.getFileById()で移動させるファイルのオブジェクトを取り出す。
- DriveApp.getFolderById()で移動先のフォルダのオブジェクトを取り出す。
- 取り出した移動させるファイルのオブジェクトを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を取り出すには、移動させたいファイルがどのフォルダにあるかを指定しなければならない。
やっていることは次のとおりである。
- DriveApp.getFolderById()で移動元フォルダと移動先フォルダのオブジェクトを取り出す。
- getFiles()で移動元フォルダ内のファイル一覧を取り出す。
- getFiles()で取り出したそれぞれのファイルのファイル名が移動させるファイル名と一致するかどうかを確かめる。
- ファイル名が一致すればそのファイルのオブジェクトをmoveTo()で移動先のフォルダのオブジェクトに移動する。
コメント