我发现了一个脚本,它会自动将文件名添加到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());
}
希望这能有所帮助!