File 试图从Google Drive中的特定文件夹复制特定文件

File 试图从Google Drive中的特定文件夹复制特定文件,file,google-apps-script,google-drive-api,directory,File,Google Apps Script,Google Drive Api,Directory,我试图通过另一个变量在指定文件夹中搜索指定文件File1 一旦我识别了文件,我想复制一份文件 这是我在以前的帖子和很多谷歌搜索的帮助下得出的结论,但什么也没发生 var folderName = ConsultName; var files = DriveApp.getFoldersByName(folderName).next().getFiles(); files.hasNext() && files == "File1" && files.next()

我试图通过另一个变量在指定文件夹中搜索指定文件File1

一旦我识别了文件,我想复制一份文件

这是我在以前的帖子和很多谷歌搜索的帮助下得出的结论,但什么也没发生

 var folderName = ConsultName;
 var files = DriveApp.getFoldersByName(folderName).next().getFiles();
 files.hasNext() && files == "File1" && files.next().makeCopy();
我尝试过不使用files==File1,makeCopy函数将复制下一个文件

几天来我一直想弄明白这一点,但运气不好


任何帮助都会有帮助。谢谢

我以多种方式使用这些函数在其他脚本中加载和保存数据。如果省略了某些参数,则会自动提供默认值。我相信你可以用这些积木为自己想出一个复制解决方案

function loadFile(filename,folderID)
{
  var filename = (typeof(filename) !== 'undefined')? filename : DefaultFileName;
  var folderID = (typeof(folderID) !== 'undefined')? folderID : DataFolderID;
  var fldr = DriveApp.getFolderById(folderID);
  var file = fldr.getFilesByName(filename);
  var s = '';
  while(file.hasNext())
  {
    var fi = file.next();
    var target = fi.getName();
    if(target == filename)
    {
      s = fi.getBlob().getDataAsString();
    }
  }
  return s;
}

function saveFile(datstr,filename,append)
{
  var append = (typeof(append) !== 'undefined')? append : false;
  var filename = (typeof(filename) !== 'undefined')? filename : DefaultFileName;
  var datstr = (typeof(datstr) !== 'undefined')? datstr : '';
  var folderID = (typeof(folderID) !== 'undefined')? folderID : DataFolderID;
  var fldr = DriveApp.getFolderById(folderID);
  var file = fldr.getFilesByName(filename);
  var targetFound = false;
  while(file.hasNext())
  {
    var fi = file.next();
    var target = fi.getName();
    if(target == filename)
    {
      if(append)
      {
        datstr = fi.getBlob().getDataAsString() + datstr;
      }
      targetFound = true;
      fi.setContent(datstr);
    }
  }
  if(!targetFound)
  {
    var create = fldr.createFile(filename, datstr);
    if(create)
    {
      targetFound = true;
    }
  }
  return targetFound;
}