我正在嘗試創建一個Google Apps腳本,該腳本允許用戶獲取文件夾內的所有文件,包括連接到主文件夾的子文件夾內的文件。 (請注意,在我的代碼中,我是誰給了folderid,這將成爲主文件夾)列出文件夾中的所有文件,包括子文件夾中的文件
我設法從一個文件夾中獲取所有文件,但我也想要這些文件在要提取的子文件夾內。
查看下面我到目前爲止所做的代碼。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var searchMenuEntries = [ {name: "Search in all files", functionName: "search"}];
//ss.addMenu("Search Document List", searchMenuEntries);
ss.addMenu("Import Data from Google Drive",searchMenuEntries);
}
function search() {
// Prompt the user for a search term
var searchTerm = Browser.inputBox("Enter the folder ID of the files that you want to import:");
//var folder = DocsList.getFolder(searchTerm);
var folder = DocsList.getFolderById(searchTerm)
var contents = folder.getFiles();
var file;
var data;
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clear();
sheet.appendRow(["FileName","File name (with link)", "Revision Date", "File Type", "DocumentID", "Meta Data"]);
sheet.appendRow(["StringFilter - Hidden", "StringFilter", "DateFilter", "StringFilter - Hidden","StringFilter - Hidden", "csvFilter - Hidden"]);
for (var i = 0; i < contents.length; i++) {
file = contents[i];
if (file.getFileType() == "SPREADSHEET") {
continue;
}
data = [
file.getName(),
"<a href= " + file.getUrl() + " target= '_blank'>" + file.getName() + "</a>",
file.getLastUpdated(),
file.getFileType(),
file.getId(),
file.getDescription()
];
sheet.appendRow(data);
}
};
現在,使用此代碼的結果將是這樣的。
但它只會顯示文件是主文件夾下,我也想循環內,並且檢查是否有因此一個子文件夾檢查是否有內這樣的文件,並得到它。
此外,我想添加一個列名「文件夾/子文件夾」,其中我想顯示該文件的文件夾名稱和該文件的主文件夾(如果適用),請參閱下面的示例,我已經完成手動。 (例如主文件夾= Folder1中和子文件夾= SubFolder1)
請告知。