Pdf 如何在Google驱动器文件夹之间移动特定类型的所有文件

Pdf 如何在Google驱动器文件夹之间移动特定类型的所有文件,pdf,google-apps-script,google-sheets,Pdf,Google Apps Script,Google Sheets,我很高兴在中找到阿米特·阿加瓦尔(Amit Agarwal)的脚本,该脚本允许用户在谷歌硬盘上将文件从一个文件夹移动到另一个文件夹 function moveFiles(sourceFileId, targetFolderId) { var file = DriveApp.getFileById(sourceFileId); DriveApp.getFolderById(targetFolderId).addFile(file); file.getParents().next().r

我很高兴在中找到阿米特·阿加瓦尔(Amit Agarwal)的脚本,该脚本允许用户在谷歌硬盘上将文件从一个文件夹移动到另一个文件夹

function moveFiles(sourceFileId, targetFolderId) {
  var file = DriveApp.getFileById(sourceFileId);
  DriveApp.getFolderById(targetFolderId).addFile(file);
  file.getParents().next().removeFile(file);
}

如何修改此选项以仅选择特定类型的文件,例如PDF?

您应该检查文件的MIME类型,然后移动匹配的文件。这是一个修改过的版本


阿米特,这正是我们需要的。您为我(我想还有其他许多人)节省了大量手动移动文件的时间。多谢各位@Brian如果你觉得代码解决了问题,你可以接受答案。Amit,我为我的延迟道歉。我想做一些额外的测试。我还有一个包含几个子文件夹的文件夹,每个子文件夹包含2个pdf。如果我使用根文件夹作为源ID,脚本能否移动子文件夹中的所有pdf?非常感谢。我建议使用内置枚举,而不是
“application/pdf”
,因为它支持在编辑器中自动完成,减少了键入错误破坏代码的可能性
var files=sourceFolder.getFilesByType(MimeType.PDF)
function moveFiles(source, target) {
  var sourceFolder = DriveApp.getFolderById(source);
  var targetFolder = DriveApp.getFolderById(target)
  var files = sourceFolder.getFilesByType(MimeType.PDF);
  while (files.hasNext()) {
    var file = files.next();
    targetFolder.addFile(file);  
    file.getParents().next().removeFile(file);
  }
}