2014-10-03 75 views
0

您好我想從谷歌文件夾下載多個文件爲txt。我正在使用谷歌腳本。到目前爲止,我的代碼將成功下載文件夾中的第一個文件,但它會停止並不會下載該文件夾中的其餘文件。由於從谷歌文件夾下載多個文件

function doGet() { 


var folder = DriveApp.getFolderById('FolderKeyHere') 

var files = folder.getFiles(); 
    while (files.hasNext()) { 
     var file = files.next(); 
     Logger.log(file.getName()); 
     var id = file.getId(); 

    var doc = DocumentApp.openById(id); 

    var string = doc.getBody().getText(); 

    var output = ContentService.createTextOutput(); 
    output.setMimeType(ContentService.MimeType.TEXT); 
    output.setContent(string); 
    output.downloadAsFile(file.getName()); 

    return output; 

    }; 

}; 

回答

0

這將是不可能的那樣,在return output;實際上會「迴歸」的應用程序,當然退出while循環。

我想你將無法在沒有用戶操作的情況下循環這種過程。

你可能會建立一個小Ui,它會有一個按鈕在每個按鈕上點擊下載文件,但我想這不是你要找的。

爲什麼不創建驅動器中的所有文件,壓縮一個zip文件中的所有文件,下載zip文件,然後刪除驅動器中的文件和zip文件?

寫得稍長,但我認爲 - 唯一可用的工作流程是在單次下載中獲取多個文件。

+0

Ive試圖下載一個zip文件,但它只會將其作爲.docx下載,而我希望所有文件都是.txt – 2014-10-06 14:55:15

+0

是否可以存儲多個output.downloadfile,然後返回它們的倍數? – 2014-10-06 15:25:29