2016-12-06 56 views
0

我试图将文件夹中的所有文件移动到另一个文件夹。源文件夹位于我的云端硬盘的根目录中。使用谷歌应用程序脚本将文件夹中的所有文件移动到其他谷歌驱动器

它应该是这个环节,但现在它不适合循环进入:

function movefiles() { 

var folderName = 'foldername' 
var folder = DriveApp.getFoldersByName(folderName).next(); 
var contents = folder.getFiles(); 
Logger.log(contents.length); 

for (var i = 0; i < contents.length; i++) { 
//here the code to move files, for now just this 
    file = contents[i];  
    Logger.log(file.getName()); 
    } 
}; 

但指令contents.length只要给我一个“不确定”,因此它不会进入的循环。我做错了什么?

问候,

回答

0

它应该是这样的:

function movefiles() { 

var folderName = 'foldername' 
var folder = DriveApp.getFoldersByName(folderName).next(); 
var files = folder.getFiles(); 

while (files.hasNext()) { 

var file = files.next(); 
var fileName = file.getName(); 

    Logger.log(fileName); 
    Logger.log(file.getDateCreated()); 
    Logger.log(file.getSize()); 
Logger.log(file.getMimeType()); 
} 
}; 
1

getFiles()不返回数组,所以没有length财产。相反,它会返回FileIterator。可以看到here in the documentation

E.g.

// Log the name of every file in the user's Drive. 
var files = DriveApp.getFiles(); 
while (files.hasNext()) { 
    var file = files.next(); 
    Logger.log(file.getName()); 
} 
+0

jeje,我注意到,但是比你晚xD –

相关问题