Takeout JSON
IT

Copiare foto su Android senza cambiare la data

Una normale copia via USB con "Trasferimento file" dà alle foto la data di oggi. Come copiare foto dal computer a un telefono Android in modo che ogni foto mantenga la sua data.

Per copiare foto su un telefono Android senza cambiare la loro data, copiale con adb push invece della normale modalità "Trasferimento file". adb push mantiene la data di ogni file; una copia con "Trasferimento file" (MTP) la imposta al momento della copia. Le foto che hanno una data di scatto dentro si vedono bene in tutti e due i casi. Quelle senza, come screenshot, scansioni e immagini delle chat, restano al loro posto nella galleria solo con adb push.

Perché una copia normale cambia la data

Quando colleghi il telefono al computer e scegli Trasferimento file, il telefono compare come un disco. Sotto, non è un disco. Usa MTP, un protocollo che copia il contenuto di un file e lascia decidere il resto al telefono. Il telefono dà a ogni nuovo file l'ora attuale.

La galleria poi ordina ogni foto per data di scatto. Quella data sta dentro la foto, quindi MTP non può cambiarla. Ma molte foto non hanno una data di scatto:

  • screenshot e registrazioni dello schermo
  • immagini salvate da WhatsApp, Telegram, Signal e dai browser
  • scansioni e copie modificate
  • la maggior parte dei video di altre app
  • foto a cui un programma ha tolto i metadati, come fa spesso Google Takeout

Per queste la galleria usa la data del file. Dopo una copia MTP, è oggi. Dieci anni di screenshot finiscono in un unico blocco nel giorno in cui li hai copiati.

Lo abbiamo provato con 1.296 foto copiate su un telefono vivo via MTP: ogni file ha preso la data della copia.

Il modo che mantiene le date: adb push

adb è lo strumento gratuito di Google, a riga di comando, per parlare con un telefono Android. Il suo comando push copia i file e mantiene le loro date. Lo prepari una volta, poi la copia è una riga.

  1. Attiva il debug USB sul telefono. Impostazioni, Informazioni sul telefono, tocca Numero build sette volte, poi Impostazioni, Opzioni sviluppatore, Debug USB. Marca per marca: come attivare il debug USB.
  2. Scarica adb. Scarica "SDK Platform-Tools" dal sito per sviluppatori Android di Google ed estrailo. Su Linux, il gestore di pacchetti lo ha come adb o android-tools.
  3. Collega il telefono, sbloccalo, e tocca Consenti quando chiede "Consentire il debug USB?". Controlla che sia visto:
adb devices
  1. Copia una cartella in DCIM, dove guarda ogni app galleria:
adb push "C:\Users\you\Pictures\2016" /sdcard/DCIM/

Su Mac o Linux il percorso è tipo ~/Pictures/2016. adb copia tutta la cartella con le sue sottocartelle.

  1. Fai guardare di nuovo la galleria. Di solito i nuovi file compaiono entro pochi minuti. Per farli comparire subito su Android 10 e successivi:
adb shell content call --uri content://media/ --method scan_volume --arg external_primary

Controlla che abbia funzionato

adb shell stat -c '%y %n' "/sdcard/DCIM/2016/*"

Ogni file deve mostrare la sua data, non quella di oggi. Poi apri la galleria e scorri indietro: le foto stanno nei loro giorni reali.

Tre trappole

Nomi che cambiano solo per maiuscole e minuscole. La memoria del telefono non distingue maiuscole e minuscole. IMG_0001.JPG e IMG_0001.jpg di due fotocamere sono lo stesso nome sul telefono, e la seconda copia sostituisce la prima senza avvisare. Nella nostra prova, 43 foto sarebbero andate perse così. Rinomina una foto di ogni coppia prima di copiare.

Spazio. Il telefono non ti avvisa mentre copi. Controlla prima lo spazio libero: adb shell df -h /sdcard.

File che hanno già la data sbagliata sul computer. adb push mantiene la data che il file ha. Se quella data è già sbagliata, per esempio dopo un download o un'estrazione da un archivio, correggila prima oppure impostala dopo sul telefono. Vedi correggere la data dei file delle foto su Android con adb.

Lo stesso senza riga di comando

Photo Date & Metadata Fixer ha una scheda Telefono Android su Windows (l'opzione Android è solo per Windows). Ti guida nel debug USB passo per passo, scarica per te adb di Google, e poi invia al telefono cartelle, esportazioni di Google Takeout o archivi .zip con ogni data giusta.

Prima di inviare, legge la data di scatto di ogni foto e la usa come data del file sul telefono. Così corregge anche le foto che avevano già la data del file sbagliata sul computer. Rinomina i conflitti come IMG_0001.JPG e IMG_0001.jpg invece di sovrascrivere, salta le foto già presenti sul telefono, controlla prima lo spazio libero, e alla fine chiede alla galleria di guardare di nuovo.

Domande frequenti

Samsung Smart Switch mantiene le date?

Smart Switch sposta i dati da un telefono all'altro, e in quel caso mantiene le date. Per le foto dal computer non è lo strumento giusto. Usa adb push o l'app.

Una scheda SD mantiene le date?

Copiare su una scheda con un lettore di schede di solito mantiene le date dei file, perché il computer scrive direttamente sulla scheda. Poi metti la scheda nel telefono. Non tutti i telefoni accettano ancora una scheda.

Devo lasciare attivo il debug USB?

No. Disattivalo in Opzioni sviluppatore quando hai finito. Puoi anche disattivare del tutto le Opzioni sviluppatore.

Le foto verranno caricate su Google Foto?

Se Google Foto fa il backup della cartella in cui hai copiato, sì. Disattiva prima il backup se non vuoi.