哇終於來到 Google Drive 的 Part 啦~想之前剛出社會要把學校的免費空間還回去
就是用 Google Drive 的 GAS 來幫助我做紀錄、備份以及搬移等等的操作!
Google Drive 的自動化應用有大量建立和管裡文件夾、命名或移動文件、設置文件權限等等
今天先教教大家基本對 google drive 中的檔案/資料夾基本的操作 - 建立/讀取/更新/刪除
DriveApp.createFile()
: 創建新文件// 建立(Create)文件
function createFile() {
var name = "新文件.txt";
var content = "我是一個新的文件檔案!";
var file = DriveApp.createFile(name, content);
Logger.log('新建立的文件ID: ' + file.getId());
}
DriveApp.createFolder()
: 創建新文件夾// 建立(Create)資料夾
function createFolder() {
var folderName = "新資料夾";
var folder = DriveApp.createFolder(folderName);
Logger.log('新建立的文件夾ID: ' + folder.getId());
}
DriveApp.getFileById()
: 通過 ID 獲取文件// 讀取(Read)文件
function readFile() {
var fileId = "YOUR_FILE_ID"; // 替換為實際的文件ID
var file = DriveApp.getFileById(fileId);
var content = file.getBlob().getDataAsString();
Logger.log('文件內容: ' + content);
}
DriveApp.getFolderById()
: 通過 ID 獲取文件夾DriveApp.getFiles()
: 獲取所有文件DriveApp.getFolders()
: 獲取所有文件夾// 讀取(Read)文件夾內容
function readAllFilesInFolder() {
var folderId = "YOUR_FOLDER_ID"; // 請替換成實際的資料夾ID
var folder = DriveApp.getFolderById(folderId);
// 讀取檔案
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log('檔案名稱: ' + file.getName());
}
// 讀取子資料夾
var subFolders = folder.getFolders();
while (subFolders.hasNext()) {
var subFolder = subFolders.next();
Logger.log('子資料夾名稱: ' + subFolder.getName());
}
}
File.setName()
: 重命名文件// 重新命名檔案
function renameFile() {
var fileId = "YOUR_FILE_ID"; // 請替換成實際的檔案ID
var newFileName = "新檔案名稱.txt";
try {
var file = DriveApp.getFileById(fileId);
file.setName(newFileName);
Logger.log('檔案已成功重新命名為: ' + newFileName);
} catch (e) {
Logger.log('重新命名檔案時發生錯誤: ' + e.toString());
}
}
File.moveTo()
: 移動文件到新位置// 移動檔案到新位置
function moveFile() {
var fileId = "YOUR_FILE_ID"; // 請替換成實際的檔案ID
var destinationFolderId = "DESTINATION_FOLDER_ID"; // 請替換成目標資料夾ID
try {
var file = DriveApp.getFileById(fileId);
var destinationFolder = DriveApp.getFolderById(destinationFolderId);
// 移動檔案到新資料夾
file.moveTo(destinationFolder);
Logger.log('檔案已成功移動到新資料夾: ' + destinationFolder.getName());
} catch (e) {
Logger.log('移動檔案時發生錯誤: ' + e.toString());
}
}
folder.setName()
: 重新命名資料夾// 更新(Update)資料夾名稱
function updateFolder() {
var folderId = "YOUR_FOLDER_ID"; // 替換為實際的資料夾ID
var folder = DriveApp.getFolderById(folderId);
folder.setName("更新後的資料夾名稱");
Logger.log('資料夾名稱已更新');
}
File.setTrashed(true)
: 將文件移至垃圾桶// 刪除(Delete)文件
function deleteFile() {
var fileId = "YOUR_FILE_ID"; // 替換為實際的文件ID
var file = DriveApp.getFileById(fileId);
file.setTrashed(true);
Logger.log('文件已移至垃圾桶');
}
Folder.removeFile()
: 從文件夾中移除文件// 刪除(Delete)文件夾
function deleteFolder() {
var folderId = "YOUR_FOLDER_ID"; // 替換為實際的文件夾ID
var folder = DriveApp.getFolderById(folderId);
folder.setTrashed(true);
Logger.log('文件夾已移至垃圾桶');
}
學會基本操作後,我們就來進入下一天 - 學會用 GAS 做 google drive 的權限管理吧!