Last active
June 11, 2023 16:09
-
-
Save daithinh/7966af480eae4ebf091e18442861447f to your computer and use it in GitHub Desktop.
Hướng dẫn cách liệt kê danh sách file trong folder Google Drive vào Google Sheets- List all files in a folder Google Drive by GDrive.VIP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Hướng dẫn liệt kê danh sách file trong folder Google Drive - GDrive.VIP | |
// GDRIVE.VIP: Dán ID folder vào dưới | |
var folderId = 'ID Folder'; | |
// Function 1: Liệt kê tất cả folder và viết vào sheet. | |
function listFolers(){ | |
getFolderTree(folderId, false); | |
}; | |
// Function 2. | |
function listAll(){ | |
getFolderTree(folderId, true); | |
}; | |
// Lấy Folder Tree | |
function getFolderTree(folderId, listAll) { | |
try { | |
// Lấy folder id | |
var parentFolder = DriveApp.getFolderById(folderId); | |
// Khởi tạo sheet | |
var file, data, sheet = SpreadsheetApp.getActiveSheet(); | |
sheet.clear(); | |
sheet.appendRow(["Đường dần đầy đủ", "Tên", "Ngày", "URL", "Cập nhập lần cuối", "Mô tả", "Kích thước"]); | |
// Lấy file và folder | |
getChildFolders(parentFolder.getName(), parentFolder, data, sheet, listAll); | |
} catch (e) { | |
Logger.log(e.toString()); | |
} | |
}; | |
// Lấy danh sách file, folder và metadata của chúng ở chế độ đệ quy | |
function getChildFolders(parentName, parent, data, sheet, listAll) { | |
var childFolders = parent.getFolders(); | |
// Liệt kê folder con | |
while (childFolders.hasNext()) { | |
var childFolder = childFolders.next(); | |
// Logger.log("Folder Name: " + childFolder.getName()); | |
data = [ | |
parentName + "/" + childFolder.getName(), | |
childFolder.getName(), | |
childFolder.getDateCreated(), | |
childFolder.getUrl(), | |
childFolder.getLastUpdated(), | |
childFolder.getDescription(), | |
childFolder.getSize() | |
]; | |
// Ghi | |
sheet.appendRow(data); | |
// Liệt kê các file trong folder | |
var files = childFolder.getFiles(); | |
while (listAll & files.hasNext()) { | |
var childFile = files.next(); | |
// Logger.log("File Name: " + childFile.getName()); | |
data = [ | |
parentName + "/" + childFolder.getName() + "/" + childFile.getName(), | |
childFile.getName(), | |
childFile.getDateCreated(), | |
childFile.getUrl(), | |
childFile.getLastUpdated(), | |
childFile.getDescription(), | |
childFile.getSize() | |
]; | |
// Ghi | |
sheet.appendRow(data); | |
} | |
// Gọi đệ quy của folder con | |
getChildFolders(parentName + "/" + childFolder.getName(), childFolder, data, sheet, listAll); | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
List đc Thư mục con, các file trong danh mục con
nhưng chưa List đc Thư mục cha & các file trong thư mục cha đó(chính là):
Thư mục cha chính là ID ở đầu: var folderId = 'ID Folder';
Anh có thể fix thêm không, Xin cảm ơn!