我正在嘗試根據 mime 型別(本例中為 JPG 和 Google Docs)選擇多個檔案,并移動到每種型別的特定檔案夾。所以我嘗試了以下方法:
function test() {
var srcfolderId = "abcdefghi";
var jpgFolderID=DriveApp.getFolderById(srcfolderId).createFolder("jpgfiles").getId();
var gdocFolderID=DriveApp.getFolderById(srcfolderId).createFolder("gdocfiles").getId();
var jpgfiles=DriveApp.getFolderById(srcfolderId).getFilesByType(MimeType.JPEG);
var gdocfiles=DriveApp.getFolderById(srcfolderId).getFilesByType(MimeType.GOOGLE_DOCS);
jpgfiles.moveTo(jpgFolderID);
gdocfiles.moveTo(gdocFolderID);
}
但這會產生錯誤:
TypeError: jpgfiles.moveTo is not a function
我應該怎么做才能擺脫這個錯誤?我應該使用不同的方式將多個檔案移動到特定檔案夾嗎?
uj5u.com熱心網友回復:
改裝要點:
- 您的問題的原因
TypeError: jpgfiles.moveTo is not a function是由于引數moveTo是檔案夾物件。在您的腳本中,使用檔案夾 ID。 DriveApp.getFolderById(srcfolderId)可以宣告為一個變數。getFilesByType回傳檔案迭代器。
當這些點反映在你的腳本中時,它變成如下。
修改后的腳本:
function test() {
var srcfolderId = "abcdefghi";
var folder = DriveApp.getFolderById(srcfolderId);
var jpgFolder = folder.createFolder("jpgfiles");
var gdocFolder = folder.createFolder("gdocfiles");
var jpgfiles = folder.getFilesByType(MimeType.JPEG);
while (jpgfiles.hasNext()) {
jpgfiles.next().moveTo(jpgFolder);
}
var gdocfiles = folder.getFilesByType(MimeType.GOOGLE_DOCS);
while (gdocfiles.hasNext()) {
gdocfiles.next().moveTo(gdocFolder);
}
}
參考:
- getFilesByType(mimeType)
- 移動到(目的地)
uj5u.com熱心網友回復:
嘗試添加如下內容:
while(jpgfiles.hasNext()) {
let file = jpgfiles.next();
file.mmoveTo()....
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/389691.html
