如何最好地删除文件夹及其子文件夹中的所有文件

安东·科热夫尼科夫(Anton Kozhevnikov)

美好的一天。我试图获取文件夹和子文件夹中的所有文件并将其删除,但是代码不起作用,它仅通过第一个子文件夹,并且其中没有文件,脚本结束,请帮助。

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

我相信您的目标如下。

  • 您要删除文件夹中的所有文件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,并删除这些文件。(它们已移至垃圾箱。)
  • 被删除文件的文件名显示在控制台中。

注意:

  • 在此脚本中,请与启用V8运行时一起使用。
  • 当文件数量很大时,首先,将检索文件ID,并且下一步,使用批处理请求删除文件可能是合适的。参考

参考文献:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Gulp-定位文件夹及其子文件夹中的所有文件

遍历所有文件夹及其所有子文件夹VBA

如何使用.gitignore忽略文件夹中的所有子文件夹

Inno Setup:为文件夹及其子文件夹中的所有文件动态添加组件

如何从Webpack JavaScript中的文件夹,子文件夹及其子文件夹动态获取文件

Spring Batch如何使用PathMatchingResourcePatternResolver从文件夹及其所有子文件夹中读取所有json文件

如何在ckfinder中显示所有文件夹,子文件夹和文件

ExifTool-如何从文件夹及其所有子文件夹内的所有文件中删除所有元数据?

查找和删除文件夹及其子文件夹中所有不带扩展名的文件

如何使用cron作业删除public_ftp文件夹及其子文件夹中所有早于X天的文件?

删除文件夹及其子文件夹中的所有文件

删除文件夹及其子文件夹中超过7天的文件

将文件夹及其子文件夹中的所有文件名写入CSV文件的脚本

如何删除文件夹XXX中的所有文件

如何使用PowerShell从文件夹和所有子文件夹中删除所有访问规则?

如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

如何删除目录中没有特定文件夹及其内容的所有内容

如何从目录和子文件夹中删除所有名为“ Sample”的文件夹?

如何从文件夹中删除所有文件?

从文件,文件夹及其子文件夹中删除前导空格

删除子文件夹中的所有内容

如何删除文件夹及其子文件夹中的符号链接?

删除所有子文件夹中的`target`文件夹

在文件夹及其子文件夹内的所有文件中搜索字符串的vba

如何删除Linux中除少数提到的文件夹以外的所有文件夹

Windows 中文件夹及其子文件夹中的所有文件的列表

如何将文件夹及其所有子文件夹和文件递归设置为 drwxrwxrwx

PHP - 如何删除 GCP 存储桶文件夹及其中的所有文件/文件夹?

如何删除某个文件夹中的所有文件