Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
Cómo cambiar el nombre de la nueva carpeta de creación con las subcarpetas

Quiero crear una nueva carpeta con un nuevo nombre desde la celda en la hoja, y quiero copiar en esta carpeta los archivos y carpetas con el destino de origen.

Me podrian ayudar a solucionar mi problema.

¿Es posible cambiar el nombre de nueva carpeta sin cambiar el nombre de las carpetas y subcarpetas, después de su creación?

 function copyFolderass() { const sourceFolder = DriveApp.getFolderById(''); const destinyFolder = DriveApp.getFolderById(''); copyFolder(sourceFolder, destinyFolder); } function copyFolderContents(source, target) { const filesIterator = source.getFiles(); while (filesIterator.hasNext()) { const file = filesIterator.next(); file.makeCopy(file.getName(), target); } } function copyFolder(sourceFolder, destinyFolder) { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("nameFile"); var name = ss.getRange("F4").getValue(); const newFolder = destinyFolder.createFolder(sourceFolder.getName()); copyFolderContents(sourceFolder, newFolder); const foldersIterator = sourceFolder.getFolders(); while (foldersIterator.hasNext()) { const folder = foldersIterator.next(); copyFolder(folder, newFolder); } }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Crear carpetas y copiar archivos

Lee una hoja para obtener FilesFolder Id FolderFolder Id y nuevo FolderName

Crea la nueva carpeta y copia todos los archivos de la Carpeta de archivos a la carpeta recién creada.

Registra la nueva identificación de la carpeta en la columna FolderId.

Registra todos los identificadores de archivo en la columna FileIds.

Puso la fecha en la columna creada.

No hace nada por las filas que tienen contenido en Creado

 //FilesFolder FolderFolder FolderName FolderId FileIds Created function createFolderAndCopyFiles() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName("Sheet0"); const shsr = 2; let [hA, ...vs] = sh.getDataRange().getValues(); let idx = {}; let col = {}; hA.forEach((h, i) => { idx[h] = i; col[h] = i + 1; }); vs.forEach((r, i) => { if (!r[idx["Created"]]) { let dfldr = DriveApp.getFolderById(r[idx["FolderFolder"]]); let fldr = dfldr.createFolder(r[idx["FolderName"]]); let fldrid = fldr.getId(); sh.getRange(i + shsr, col["FolderId"]).setValue(fldrid); let files = DriveApp.getFolderById(r[idx["FilesFolder"]]).getFiles(); let ids = []; while (files.hasNext()) { let file = files.next(); let fid = file.getId(); file.makeCopy(file.getName(), fldr); ids.push(fid); } sh.getRange(i + shsr, col["FileIds"]).setValue(ids.join('\n')); sh.getRange(i + shsr, col["Created"]).setValue(new Date()); } }); }

Hoja de cálculo

ingrese la descripción de la imagen aquí

Usted completa las cosas en amarillo, el programa completa el resto y no volverá a crear carpetas si la Columna creada no está vacía.

about 4 years ago · Juan Pablo Isaza Relatório

0

Gracias Cooper por la respuesta, pero esto no es lo que quiero hacer.

  1. en google drive tengo una plantilla de estructura de catálogos.
  2. mi código es uno de los códigos parciales de mi código principal. el código principal funciona así
  • hago clic en enviar correo electrónico y luego ejecuto mi código con la creación de una carpeta desde temtlace
  1. cuando está creando un nombre de carpeta de plantilla, pero solo quiero cambiar una parte de esta línea de mi código. en lugar de esta línea

    const carpetanueva = carpetadestino.createFolder(carpetaorigen.getName());

Solo quiero que me guste esto: el nombre de la carpeta de creación es de la celda F4. los nombres restantes de las carpetas pueden permanecer como en la plantilla.

 var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("nameFile"); var name = ss.getRange("F4").getValue(); const newFolder = destinyFolder.createFolder(sourceFolder.setName(name));

pero esta línea cambia el nombre de ale en las subcarpetas i todo el catálogo de estructura cuando se está creando.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda