Google apps script 在文件夹之间移动文件google apps脚本

Google apps script 在文件夹之间移动文件google apps脚本,google-apps-script,Google Apps Script,我正在尝试将pdf格式的文件列表从一个文件夹树移动到另一个文件夹树。这两个文件夹都按以学生名命名的文件夹排序。这张纸条几乎很好用。它从学生“A”文件夹中获取文件,并将其粘贴到名为“A”的正确文件夹中。但它会从下一个学生文件夹“B”中取出文件,并将其粘贴到学生文件夹“A”中。发生了什么?我已经找了好几个小时了。。。 非常感谢你的帮助 function moviendo() { var fecha = new Date(); var ano = fecha.getYear(); var mes =

我正在尝试将pdf格式的文件列表从一个文件夹树移动到另一个文件夹树。这两个文件夹都按以学生名命名的文件夹排序。这张纸条几乎很好用。它从学生“A”文件夹中获取文件,并将其粘贴到名为“A”的正确文件夹中。但它会从下一个学生文件夹“B”中取出文件,并将其粘贴到学生文件夹“A”中。发生了什么?我已经找了好几个小时了。。。 非常感谢你的帮助

function moviendo() {

var fecha = new Date();
var ano = fecha.getYear();
var mes = fecha.getMonth();

if (mes >= 0 && mes <= 8){var cursoac = ano-2+"-"+ ano-1}
if (mes >= 9 && mes <= 11){var cursoac = ano+"-"+ ano+1}

var cursoac = "2016-2017"

//var origen = DriveApp.getFolderById("0Bzgw8SlR34pUNDNlV2dOS0JmU2M");
var origen = DriveApp.getFolderById("1TeBhHwhwcGha_KK5xxlkE8J7mx07Nrb9");
var destino = DriveApp.getFolderById("1aZGTr8kihc2LjTF6oOfUiOZAAdhy45DJ");

var folders = origen.getFolders();
while (folders.hasNext()){
var folder = folders.next();
var foldername = folder.getName();

var foldest = destino.getFolders();
while (foldest.hasNext()){
var foldes = foldest.next();
var foldesname = foldes.getName();

Logger.log("Destino: "+foldesname);
Logger.log("Origen: "+foldername);

if (foldesname == foldername){

//INTENTAR CREAR "DISCIPLINA"

try {

    Logger.log("TRY: "+foldes.getName());
    var fol = foldes.getFolders();
    while (fol.hasNext()) {
     var foldis = fol.next();
     var foldisname = foldis.getName();
     if(foldisname == "Disciplina"){
     var folderf = foldis.getId();
     }}

     var folderfin = DriveApp.getFolderById(folderf);
     }

    catch(f) {
    var folderf = foldes.createFolder("Disciplina").getId();
    var folderfin = DriveApp.getFolderById(folderf)
    }

Logger.log("Folderfin: "+folderfin);

//INTENTA CREAR EL CURSO ACTUAL DE ARCHIVO

try {

    var fol2 = folderfin.getFolders();
    while (fol2.hasNext()) {
     var foldis2 = fol2.next();
     var foldisname2 = foldis2.getName();
     if(foldisname2 == cursoac){
     var folderf2 = foldis2.getId();
     }}

     var folderfin2 = DriveApp.getFolderById(folderf2);
     }

    catch(e) {
    var folderf2 = folderfin.createFolder(cursoac).getId();
    var folderfin2 = DriveApp.getFolderById(folderf2)
    }

Logger.log("Folderfin2: "+folderfin2);

var files = folder.getFiles();
while (files.hasNext()){
var file = files.next();
folderfin2.addFile(file);
folder.removeFile(file);
}

}}}

}
函数moviendo(){
var fecha=新日期();
var ano=fecha.getYear();
var mes=fecha.getMonth();

如果(mes>=0&&mes=9&&mes,则可以使用方法简化代码。下面是如何访问/创建文件夹名为“JACK”的文件夹并将其分配给变量
destFold

  var folder = DriveApp.getFolderById("ID")
  var folders = folder.getFoldersByName("Jack")
  var destFold
  if(folders.hasNext())
     destFold = folders.next()
    else {
     destFold = folder.createFolder("Jack")
    }
将此算法应用于代码会产生以下结果(
函数getFolder(name,folder)
):

函数moviendo(){
var fecha=新日期();
var ano=fecha.getYear();
var mes=fecha.getMonth();

如果(mes>=0&&mes=9&&mes,非常感谢)。我要试试。它工作得非常好。我花了几个小时寻找正确的代码。非常感谢。
function moviendo() {
var fecha = new Date();
var ano = fecha.getYear();
var mes = fecha.getMonth();

if (mes >= 0 && mes <= 8){var cursoac = ano-2+"-"+ ano-1}
if (mes >= 9 && mes <= 11){var cursoac = ano+"-"+ ano+1}

var cursoac = "2016-2017"

//var origen = DriveApp.getFolderById("0Bzgw8SlR34pUNDNlV2dOS0JmU2M");
var origen = DriveApp.getFolderById("1icoXnLKpVDkR9_i8eurP-CX4PMIMEASD") //1TeBhHwhwcGha_KK5xxlkE8J7mx07Nrb9");
var destino = DriveApp.getFolderById("1rnY1KhP14qXSMjFlvJZ0elbmy_a3TrqC")//"1aZGTr8kihc2LjTF6oOfUiOZAAdhy45DJ");

var folders = origen.getFolders();
while (folders.hasNext()){
var folder = folders.next();
var foldername = folder.getName();
  Logger.log("Origin: "+foldername)
  var foldes = getFolder(foldername,destino)
//INTENTAR CREAR "DISCIPLINA"   
  var folderfin = getFolder("Disciplina",foldes)
  var folderfin2 = getFolder(cursoac, folderfin)
  var files = folder.getFiles();
   while (files.hasNext()){
     var file = files.next();
     folderfin2.addFile(file);
     folder.removeFile(file);
   }
}
}

function getFolder(name,folder){
  var folderfin = folder.getFoldersByName(name)
    if (folderfin.hasNext()){
       var folderfin = folderfin.next();
     } else {
       var folderfin = folder.createFolder(name)
     }
  Logger.log("Return Folder:"+folderfin)
  return folderfin
}