Riordino di Google DriveSviluppo e personalizzazione

Un Google Apps Script che copia intere cartelle di Drive, archivia i file vecchi e mostra cosa occupa spazio

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Un Google Apps Script che copia intere cartelle di Drive, archivia i file vecchi e mostra cosa occupa spazio

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Google Drive non ha un pulsante per copiare una cartella con tutto il suo contenuto, e dopo qualche anno un Drive condiviso è pieno di vecchie versioni e file che nessuno trova. Questo Google Apps Script fa i lavori che Drive non fa: copia una cartella con tutte le sue sottocartelle, elenca ogni file in un foglio con dimensione, proprietario, tipo e ultima modifica così vede cosa occupa spazio, e dallo Standard sposta in una cartella di archivio i file più vecchi della data che imposta. Il Premium elenca i possibili duplicati perché li controlli e può fare ogni mese una copia datata di una cartella. Non elimina mai nulla: i file vengono copiati o spostati, e solo secondo le sue regole. I file di proprietà di altri potrebbero non spostarsi. Un'esecuzione dura circa sei minuti, quindi le cartelle grandi vanno gestite a blocchi. Lo esegue lei nel suo account.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con il codice Apps Script e un README che spiega come aggiungerlo a un foglio, autorizzare l'accesso ed eseguirlo; il codice è visibile anche nella pagina dell'ordine.
  • Copie di cartelle intereCon ogni sottocartella e file all'interno
  • Un report in un foglioDimensione, proprietario, tipo e ultima modifica di ogni file
  • Archivio per etàDallo Standard, file vecchi spostati secondo la sua regola sulla data
  • Nulla eliminatoI file vengono solo copiati o spostati
  • Codice leggibileCon commenti, facile cambiare una regola in seguito

Come funziona

  1. 1
    RegoleLei descrive le cartelle e cosa deve succedere
  2. 2
    CodiceScriviamo lo script e la guida all'installazione
  3. 3
    Lo proviLo esegue prima su una cartella di prova e guarda il report
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

Su quali cartelle deve lavorare lo script (Il mio Drive o un Drive condiviso), cosa farne (copiare, fare un report, archiviare) e le regole: quanto deve essere vecchio un file per andare in archivio, dov'è la cartella di archivio, cosa conta come possibile duplicato (stesso nome, stessa dimensione). Circa quanti file ci sono, chi ne è proprietario (lei o i colleghi) e se usa un account gratuito o Google Workspace. Uno screenshot della struttura delle cartelle aiuta.

Le chiederemo:

  • Quali cartelle, e cosa le serve?
  • Cosa va in archivio?
  • Chi è proprietario dei file?
  • Cosa non deve fare mai

Confronto dei pacchetti

PacchettiBaseUn lavoro15 €StandardRiordino con impostazioni30 €PremiumStrumento per Drive60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Eliminerà duplicati o file vecchi?

No. I file vecchi vengono spostati in una cartella di archivio secondo la sua regola, e i possibili duplicati vengono solo elencati nel foglio, così decide lei cosa eliminare.

Perché non riesce a spostare alcuni file?

Drive permette di spostare un file solo a certe persone, a seconda del proprietario e dei ruoli nel Drive condiviso. I file che lo script non può spostare vengono elencati nel log con il motivo.

Una copia mantiene le impostazioni di condivisione?

No: le copie appartengono a lei e sono condivise come qualsiasi nuovo file. Il README spiega come condividere di nuovo la cartella copiata.

Avete accesso al mio Drive?

No. Aggiunge lei lo script nel suo account e ne autorizza l'accesso. Non accediamo mai e non vediamo i suoi file.

Non hai trovato la risposta?

Pacchetti