Lorsque vous déplacez des fichiers entre différents répertoires et entre PC et smartphones, l'horodatage de la date de dernière modification est généralement réinitialisé à la date même de l'opération de déplacement ou de copie. Cela conduit à des fichiers qui ne sont pas triés chronologiquement dans certaines applications (Galerie), ce qui est assez ennuyeux, surtout pour les images et les vidéos.
Habituellement, ce type de fichiers suit la convention de dénomination IMG_YYYYMMDD_HHMMSS.jpg pour les images et VID_YYYMMDD_HHMMSS.mp4 pour les vidéos. J'ai donc pensé à combiner touch
et d'extraire le caractère des noms de fichiers, l'horodatage faisant en fait partie du nom de fichier lui-même.
J'ai trouvé ce script à Le QG d'Ephestione for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done
mais ne fonctionne que dans le terminal. J'ai essayé d'en faire un script mais cela ne fonctionne pas (voir ci-dessous).
#!/system/bin/sh
#change timestamp for images filename IMG_YYYYMMDD_HHMMSS.jpg
for i in IMG_*.jpg
do
touch -t ${i:4:8}${i:13:4}.${i:17:2} $i
done
#change timestamp for whatsapp images IMG-YYYYMMDD-WAnnnn.jpg
for i in IMG-*WA*.jpg
do
touch -t ${i:4:8}1234 $i
done
#change timestamp for videos filename VID_YYYYMMDD_HHMMSS.mp4
for i in VID_*.jpg
do
touch -t ${i:4:8}${i:13:4}.${i:17:2} $i
done
#change timestamp for whatsapp videos IMG-YYYYMMDD-WAnnnn.mp4
for i in VID-*WA*.mp4
do
touch -t ${i:4:8}1234 $i
done
Idéalement, j'aimerais placer un script comme celui-ci dans le répertoire de premier niveau DCIM ou Pictures et le faire traiter toutes les images et vidéos dans les sous-répertoires. Bien sûr, je suis enraciné.