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

141
Visualizações
Cómo crear un directorio de archivos a partir de la lectura de una hoja de cálculo en el script de aplicaciones

Logré registrar el directorio de archivos/carpetas de una carpeta en una hoja de Google. De esta hoja de Google, me gustaría copiar esta estructura de carpetas leyendo cada fila.

Enlace de hoja de Google: https://docs.google.com/spreadsheets/d/1qgDd8PEmHSYz5IsN9banYBjbmAyoLLVe3WMnOvmHdlE/edit?usp=sharing

 function copyFolderTree() { const sourceFolderId = '1uTGq2MRHzbev23sQzzFCi3Pl-v-ntMql'; const sourceFolder = DriveApp.getFolderById(sourceFolderId).getName(); const ss = SpreadsheetApp.getActiveSpreadsheet(); const ws = ss.getSheetByName('Sheet1'); const data = ws.getDataRange().getValues(); range.shift() const destinationRootFolder = DriveApp.createFolder(`${sourceFolder}`) data.forEach(function(row){ Logger.log(row) let depth = row[4] if (row[4] === depth && row[2] === 'Folder') { Logger.log(`Name of folder is currently ${row[4]}`) Logger.log(`Depth is currently ${row[4]}`) Logger.log(`Type is currently ${row[2]}`) destinationRootFolder.createFolder(row[0]) row.push('hello') Logger.log(row) range.setValues(values); } }) } I realise this is the incorrect thinking. Do I need to place the newly created folder into it's copied parent folder using the folder's name? Thank you, [1]: https://docs.google.com/spreadsheets/d/1qgDd8PEmHSYz5IsN9banYBjbmAyoLLVe3WMnOvmHdlE/edit?usp=sharing
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Para el árbol de carpetas, puede probar

 function copyFolderTree() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const ws = ss.getSheetByName('Sheet1'); const range = ws.getDataRange(); const values= range.getValues(); var levels = [] values.forEach(r => { if (r[2]=='Folder'){ if (r[4]==0){ // root var dossier = DriveApp.createFolder(r[0]); levels[1] = dossier.getId(); // specific correction as 1 doesn't exists in the example provided } else { var parent = DriveApp.getFolderById(levels[r[4]-1]); var dossier = parent.createFolder(r[0]); levels[r[4]] = dossier.getId(); } } }) }
about 4 years ago · Juan Pablo Isaza Relatório

0

De From this Google Sheet I would like to copy this folder structure by reading each row. y First I would like to create the folder structure. My next step would be to work on transferring the files across. , cuando desee copiar una carpeta (en su hoja de cálculo de muestra, es "Amy Bits"), incluidas todas las subcarpetas y archivos mediante Google Apps Script, ¿qué tal la siguiente secuencia de comandos de muestra? Creé una biblioteca de Google Apps Script para lograr esta situación. Entonces, en esta respuesta, me gustaría proponer el script usando la biblioteca de Google Apps Script.

Uso:

1. Instalar biblioteca.

Puede ver el método para instalar la biblioteca aquí .

2. Habilite la API de Drive.

En esta biblioteca, se utiliza Drive API. Por lo tanto , habilite la API de Drive en los servicios avanzados de Google .

3. Guión de muestra:

Cuando se usa su hoja de cálculo de muestra, el script de muestra es el siguiente.

 function myFunction() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); const sourceFolderId = sheet.getRange("B2").getValue().split("/")[5]; // Please set the source folder ID. const destinationFolderId = DriveApp.createFolder("sample").getId(); // Please set the destination folder ID. const object = { sourceFolderId, destinationFolderId, overwrite: true }; const res = CopyFolder.copyAllFilesFolders(object); console.log(res); }
  • Si puede colocar directamente el ID de la carpeta de origen y el ID de la carpeta de destino, también puede usar el siguiente script de muestra.

     function myFunction() { const object = { sourceFolderId: "###", // Please set the source folder ID. destinationFolderId: "###", // Please set the destination folder ID. overwrite: true, }; const res = CopyFolder.copyAllFilesFolders(object); console.log(res); }

Nota:

  • Si el tiempo de proceso del script supera los 6 minutos, puede ver un script de muestra más. Árbitro

Referencia:

  • CopyFolder de la biblioteca de Google Apps Script
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