In realtà questo articolo dovrebbe chiamarsi come modificare i file di una cartella lasciando la data di modifica immutata, ma nella grande maggioranza dei casi si tratta di video.
Infatti, i video in HD di oggigiorno sono IMMENSI, il mio cellulare produce video da 200 MB al minuto, se registro una decina di minuti di uno spettacolo pirotecnico, mi viene un file gigante da 2 giga, lo spazio di un film completo su DVD: è uno spreco assoluto, considerando che di solito questi video sono tremolanti, bui e con audio confuso.
In questi casi è possibile ricomprimere i video con Handbrake senza che ci sia una perdita di qualità sostanziale.
Il problema principale è che, quando io ricomprimo il video, perde la data originale di creazione/modifica, ed in alcuni casi questo è un bel problema, specialmente se vogliamo tenerli ordinati cronologicamente, per esempio come memoria di un viaggio.
È possibile modificare manualmente la data di modifica con programmi come questo, ma è un lavoro estremamente tedioso.
Come fare? Ho chiesto aiuto su SuperUser e John Siu mi ha scritto uno script in PowerShell che fa esattamente quello che volevo!
Prima di tutto dobbiamo installare PowerShell sul nostro PC.
Poi, mettiamo i file da convertire in una cartella, ed eseguiamo lo script SaveTime.ps1: lo script salverà su un file le date di creazione dei nostri video.
Adesso possiamo convertirli tutti in blocco, per esempio usando Handbrake batch encoder.
Una volta convertiti tutti i video, possiamo ripristinare la data originale eseguendo OldTime.ps1, facendo attenzione al fatto che i nuovi file si chiamino esattamente come quelli vecchi.
Se dopo la conversione l'estensione del file è diversa (per esempio: m4v diventa mp4), dobbiamo renderla uguale usando uno di questi due metodi:
- Modificando il file che contiene tutte le date, OldTime-record.ps1 con un "trova e sostituisci" per cambiare le estensioni del file
- Rinominando tutti i file col comando DOS "ren *.mp4 *.m4v"