在谷歌硬盘的描述中添加文件名



我发现了一个脚本,它会自动将文件名添加到Google Drive中所有文件的描述中,但当我运行该脚本时,我会收到未定义DocsList的错误。我刚开始写脚本,我一直在谷歌脚本网站上搜索,但我还是迷路了。我真的很感激你能提供的任何帮助。非常感谢。

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

基于此论坛,不推荐使用DocsList,而是使用DriveApp。Class DriveApp允许脚本在Google Drive中创建、查找和修改文件和文件夹。

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

希望这能有所帮助!

最新更新