美好的一天。我试图获取文件夹和子文件夹中的所有文件并将其删除,但是代码不起作用,它仅通过第一个子文件夹,并且其中没有文件,脚本结束,请帮助。
function DeleteInvoices() {
var folder = DriveApp.getFolderById("1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e");
var fl = folder.getFolders();
while (fl.hasNext()) {
var files = fl.next();
Logger.log(files)
var fs = files.getFiles();
while (fs.hasNext()) {
var fss = fs.next();
fss.setTrashed(true)
}
}
}
我相信您的目标如下。
1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
。
1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
包含子文件夹,您想删除所有子文件夹中的所有文件夹。1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
中检索了文件。
1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
包含2个文件夹,并且2个文件夹包含1个文件,并且1个文件夹(其中每个文件夹包含1个文件),则脚本将检索2个文件。因为脚本从文件夹下方的文件夹中检索文件1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
。1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
,需要1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e
使用递归循环扫描所有包含子文件夹的文件夹。当以上几点反映到脚本中时,它如下所示。
function DeleteInvoices() {
const getAllFiles = folder => {
const files = folder.getFiles();
while (files.hasNext()) {
const file = files.next();
console.log(file.getName());
file.setTrashed(true);
}
const folders = folder.getFolders();
while (folders.hasNext()) getAllFiles(folders.next());
}
var folder = DriveApp.getFolderById("1-2VAPBzEQxCaoN7KGSB_K_peiLIDk32e");
getAllFiles(folder);
}
getAllFiles
,并删除这些文件。(它们已移至垃圾箱。)本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句