2016-04-29 58 views
0

我发现了一个脚本,它会自动将文件名添加到Google云端硬盘中所有文件的描述中,但是当我运行该脚本时,出现DocsList未定义的错误。我是编写脚本的新手,我一直在搜索Google Scripts网站,但我仍然迷失。我非常感谢您提供的任何帮助。谢谢!将文件名添加到谷歌驱动器中的描述

function setDescriptionToFolderNames() { 

    var file; 
    var filename; 
    var folders; 
    var filedescription; 

    var contents = DocsList.getAllFiles(); 
    // sort ascending. Oldest first, in case of timeout: 
    contents.sort(function(a,b) {return a.getLastUpdated()-b.getLastUpdated()}); 

    // synchronize folder names of all files (only updates if folders have changed): 
    for (var i = 0; i < contents.length; i++) { 
    file = contents[i]; 
    try { 
    filename = file.getName(); 
    //Logger.log("Checking: " +filename +" ("+file.getLastUpdated()+")"); 
    folders = file.getParents(); 

    // sort by folder name: 
    folders.sort(function(a, b) 
       { return a.getName().localeCompare(b.getName()); } 
       ); 
    filedescription = ""; 

    for (var f = 0; f < folders.length; f++) { 
     filedescription = filedescription+folders[f].getName()+" "; 
    } 

    if (filedescription != contents[i].getDescription()) 
    { 
     file.setDescription(filedescription); 
     Logger.log("Updated: " +filename); 
    } 
} catch(e){ Logger.log("Error: " +filename+" "+e); } 
} 

}; 

回答

0

从这个forum基础,DocsList已被废弃,用DriveApp代替。 Class DriveApp允许脚本在Google云端硬盘中创建,查找和修改文件和文件夹。

// 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()); 
} 

希望这会有所帮助!