iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
IT 管理

30 天玩轉 GAS: 打造你的個人自動化助手系列 第 21

[Day 21] GAS - Google Drive 操作大全 Part1 - 建立/讀取/更新/刪除 (CRUD)

  • 分享至 

  • xImage
  •  

哇終於來到 Google Drive 的 Part 啦~想之前剛出社會要把學校的免費空間還回去
就是用 Google Drive 的 GAS 來幫助我做紀錄、備份以及搬移等等的操作!
Google Drive 的自動化應用有大量建立和管裡文件夾、命名或移動文件、設置文件權限等等
今天先教教大家基本對 google drive 中的檔案/資料夾基本的操作 - 建立/讀取/更新/刪除

建立 (Create)

  • 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());
}

讀取(Read)

  • 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 的權限管理吧!


上一篇
[Day 20] GAS - Google Doc 實戰演練 - 文檔共享和管理 & 自動生成報告
下一篇
[Day 22] GAS - Google Drive 操作大全 Part2 - 權限管理
系列文
30 天玩轉 GAS: 打造你的個人自動化助手23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言