将文件名添加到谷歌驱动器中的描述
问题描述:
我发现了一个脚本,它会自动将文件名添加到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); }
}
};
答
从这个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());
}
希望这会有所帮助!