Cambiar archivo (imágenes, videos) Timestamp del nombre de archivo -- file-system campo con file-transfer campo con file-management campo con media-files campo con bash camp android Relacionados El problema

Change file (pictures, videos) timestamp from filename


0
vote

problema

Español

Cuando se mueven archivos alrededor de TRU DIFERENTE Dirs y a través de PC / Smartphone, la marca de tiempo para la última fecha modificada, generalmente se restablece a la operación de DateTime Of Move / Copy. Esto lleva a que los archivos no se clasifiquen cronológicamente en algunas aplicaciones (Galería), bastante molesto, especialmente para imágenes y videos.

Por lo general, este tipo de archivos sigue la convención de nomenclatura de img_yyyymmdd_hhmmss.jpg para imágenes y vid_yyyymmdd_hhmmss.mp4 para videos. Así que pensé en combinar touch y extraer personaje de los nombres de archivos, la marca de tiempo está en efecto parte del nombre de archivo.

Encontré este script en HQ de Ephestione / a> for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done Pero solo funciona en terminal. Intenté hacer un guión de él, pero no funciona (ver más abajo)

  #!/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   

Idealmente, me gustaría poner un script como este en el directorio DCIM o imágenes de alto nivel y hacerlo procesar todas las imágenes y videos en los Subdirs. Por supuesto que estoy arraigado.

Original en ingles

When moving files around tru different dirs and across PC / smartphone, timestamp for last modified date usually get reset to the very datetime of move / copy operation. This lead to files being non-chronologically sorted in some apps (Gallery), quite annoying especially for Images and Videos.

Usually these kind of files follows the naming convention of IMG_YYYYMMDD_HHMMSS.jpg for Images and VID_YYYYMMDD_HHMMSS.mp4 for Videos. So I thought about combining touch and extracting character from filenames, the timestamp being in effect part of the filename itself.

I found this script at Ephestione's HQ for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done but works in terminal only. I tried to make a script out of it but it doesn't work (see below)

#!/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 

Ideally I'd like to put a script like this in the top level DCIM or Pictures directory and have it process all the Images and Videos in the subdirs. Of course I'm rooted.

              

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Eliminar del script el .${i:17:2} en para bucle.

debería ser:

  #!/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 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 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   

Tenga en cuenta que las imágenes y videos de WhatsApp de acuerdo a su script tienen la misma hora 12:34.

Editar: Para pasar también a través de subdirectorios, cambie los bucles según lo siguió:

   for i in `find . -type f -name "IMG_*..jpg"` do  j=`basename $i`   echo $j  touch -t ${j:4:8}${j:13:4} $i   done    

Explicación:

encontrar. -Tipo F -NAME " .mp5" `: Encuentre archivos (-TyPE T) cuyos nombres contengan" img _ .jpg "(-name" img _ *. jpg ") en el directorio actual (.) y subdirectorios.

J = ABCDEFGHIJKLMNABCDEFGHIJKLMN3 : Obtenga el nombre de archivo (no la ruta completa) y asignelo a j.

Touch -T $ {J: 4: 8} $ {J: 13: 4} $ i: Cambie el tiempo de modificación del archivo según la fecha y la hora recuperadas de $ {J: 4: 8} $ {J: 13: 4}.

 

Remove from the script the .${i:17:2} in for loop.

It should be:

#!/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 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 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 

Note that the images and videos from WhatsApp according to your script have the same time 12:34.

Edit: To also go through subdirectories, change the for loops as followed:

 for i in `find . -type f -name "IMG_*..jpg"` do  j=`basename $i`   echo $j  touch -t ${j:4:8}${j:13:4} $i   done  

Explanation:

find . -type f -name ".mp5"`: find files ( -type t) whose names contains " IMG_.jpg" ( -name "IMG_*.jpg") in the current directory ( . ) and subdirectories.

j= basename $i : Get the filename (not the entire path), and assign it to j.

touch -t ${j:4:8}${j:13:4} $i : Change the file's modification time based on the date and time retrieved from ${j:4:8}${j:13:4} .

 
 
       
       

Relacionados problema

1  ¿Hay alguna manera de cambiar la aplicación predeterminada del administrador de archivos?  ( Is there a way to change the default file manager app ) 
Me preguntaba si podía reemplazar el administrador de archivos que viene con mi teléfono con una aplicación de terceros de una manera que cualquier aplicación...

3  El sistema de archivos de tarjeta microSD sigue corriendo por ninguna razón obvia  ( Microsd card file system keeps getting corrupt for no obvious reason ) 
Desde cuándo obtuve mi teléfono actual (mayo de 2018), tuve que reformatear mi tarjeta microSD aproximadamente 3-4 veces, probablemente debido a la corrupción...

0  ¿Cómo eliminar los restos de la aplicación sin privilegios de root?  ( How to delete app remnants without root privileges ) 
i instalado Teclado de Chooma en un Android Dispositivo de turrón. Funcionó bien, incluido el deslizamiento para ingresar texto. Después de ajustar la con...

0  ¿Puedo obtener los detalles de la cuenta o los detalles registrados de una aplicación del directorio de teléfono de datos / archivos?  ( Can i get the account details or logged details of an application from the data ) 
¿Puedo obtener los detalles de la cuenta o los detalles registrados de una aplicación del archivo de datos de la aplicación en el sistema de archivos. Mi disp...

5  ¿Cómo puedo habilitar last_kmsg?  ( How can i enable last kmsg ) 
Estoy tratando de diagnosticar un reinicio aleatorio en Lineageos 14. ABCDEFGHIJKLMNABCDEFGHIJKLMN0 no está en /proc , ni está en /sys/fs/pstore/console-r...

1  Esta aplicación promete ejecutar "fstrim" sin root, pero no estoy seguro de si funciona  ( This app promises to run fstrim without root but i am not sure if it works ) 
No estoy seguro de si esta aplicación trabajos. ¿Puede alguien por favor ayudarme? Mi teléfono es nuevo y en su período de garantía, así que no puedo alojar...

4  Si reinicio mi teléfono, ¿también recortará el EMMC fragmentado?  ( If i reset my phone will it also trim the fragmented emmc ) 
Sé que Android admite fstrim , pero solo funciona si el teléfono está inactivo durante mucho tiempo mientras se carga. Creo que mi teléfono es demasiado frag...

0  Obtenga un error de la firma al instalar una versión diferente de la aplicación  ( Getting signature error while installing a different version of the app ) 
Recientemente instalo una ROM personalizada llamada Eelo https://e.foundation/ . Viene con la aplicación de telegrama preinstalado. Después de mucha investig...

1  ¿Por qué eliminar los archivos del sistema en una Android enraizada dice que "el dispositivo o el recurso está ocupado"?  ( Why deleting system files on a rooted android says device or resource is busy ) 
Tengo FX Explorer, estaba tratando de eliminar algunas cosas en /system/app (las cosas son solo carpetas vacías), pero sigue diciendo The operation isn't p...

2  ¿Cómo puedo saber si FSTIM se ejecutó cuando pongo mi teléfono cargando durante la noche?  ( How can i know if fstrim was run when i put my phone on charging over night ) 
¿Hay algún registro donde pueda confirmar esto? ...

1  ¿Cómo cambiar la etiqueta del sistema de archivos aleatorios en USB OTG?  ( How to change random filesystem label on usb otg ) 
Estoy sin PC en este momento, pero necesito formatear la unidad USB (a FAT32 o EXT4) con Samsung S8 (Android 9) y cambiar de etiqueta. Pero no puedo encontrar...

4  ¿Cómo identificar la aplicación / proceso que vuelve a montar particiones R / W, crea archivos y cambia permisos de archivos?  ( How to identify the app process which re mounts partitions r w creates files an ) 
Tengo un dispositivo arraigado, con derechos de superusuario otorgados a algunas aplicaciones en las que confío. A menudo he encontrado mi /system o abcdef...

1  TWRP No se puede limpiar o formatear `Error al montar '/ SISTEMA' (dispositivo o recurso ocupado)`  ( Twrp unable to wipe or format failed to mount system device or resource bus ) 
Estoy tratando de instalar lineageos y luego gapps en mi píxel XL de TWRP Recuperación. Intentaré ABCDEFGHIJKLMNABCDEFGHIJKLMN0 EL ABCDEFGHIJKLMNABCDEF...

0  2 carpetas del mismo nombre en el almacenamiento interno de OnePlus3  ( 2 folders of same name in internal storage of oneplus3 ) 
Actualmente en mi teléfono, tengo 2 carpetas del mismo nombre. El contenido de ambas carpetas muestra 0 bytes. Edición: son exactamente iguales. Y las subcarp...

1  ¿Android 8 tiene un diario habilitado en su sistema de archivos ext4?  ( Does android 8 has journaling enabled in its ext4 files sytem ) 
Android 8 usa el sistema de archivos apilable llamado sdcardfs , que emula FAT32 en ABCDEFGHIJKLMNABCDEFGHIJKLMN2 en la partición de datos. Hace sdcardfs ...

0  En Android 8, durante la grabación de video, ¿cómo se guardan los datos en el disco?  ( In android 8 during video recording how the data is saved to disk ) 
en Android 8, durante la grabación de video larga, 1) ¿Con qué frecuencia se escriben los datos de video grabados en el almacenamiento interno? 2) ¿Cuál es el...

0  Carpeta de la cámara que se muestra tan vacía, pero contiene datos de 20 GB  ( Camera folder displayed as empty but contains 20gb data ) 
My Lenovo Moto G5 Plus 'El almacenamiento interno funcionó lleno, y ahora parece haber un problema con las fotos que se guardan en su almacenamiento interno. ...

4  ¿Cómo deshabilitar DM-Verity en Android con "Usuario" Tipo de compilación ROM?  ( How to disable dm verity on android with user build type rom ) 
Tengo un dispositivo Android un más 6T que tiene una ROM del tipo de construcción user . Este dispositivo está arraigado con MAGISH y quiero deshabilitar dm...

5  ¿Cómo desempacar / repasar el sistema.img de la ROM de Android?  ( How to unpack repack system img of android rom ) 
Tengo un dispositivo OnePlus 6T que tiene un sistema de partición A / B y tiene una ROM del tipo de usuario i.e [ro.build.type]: [user] . Este dispositivo es...

0  ¿En qué archivo del sistema Android puedo eliminar el campo de la contraseña de Wi-Fi?  ( In which android system file can i remove wi fi password field ) 
Si estero mi dispositivo basado en Android (v4.0.4), ¿qué archivo del sistema y cómo puedo cambiar para eliminar de la interfaz gráfica, el campo donde escrib...

Relacionados problema

1  ¿Hay alguna manera de cambiar la aplicación predeterminada del administrador de archivos? 
3  El sistema de archivos de tarjeta microSD sigue corriendo por ninguna razón obvia 
0  ¿Cómo eliminar los restos de la aplicación sin privilegios de root? 
0  ¿Puedo obtener los detalles de la cuenta o los detalles registrados de una aplicación del directorio de teléfono de datos / archivos? 
5  ¿Cómo puedo habilitar last_kmsg? 
1  Esta aplicación promete ejecutar "fstrim" sin root, pero no estoy seguro de si funciona 
4  Si reinicio mi teléfono, ¿también recortará el EMMC fragmentado? 
0  Obtenga un error de la firma al instalar una versión diferente de la aplicación 
1  ¿Por qué eliminar los archivos del sistema en una Android enraizada dice que "el dispositivo o el recurso está ocupado"? 
2  ¿Cómo puedo saber si FSTIM se ejecutó cuando pongo mi teléfono cargando durante la noche? 
1  ¿Cómo cambiar la etiqueta del sistema de archivos aleatorios en USB OTG? 
4  ¿Cómo identificar la aplicación / proceso que vuelve a montar particiones R / W, crea archivos y cambia permisos de archivos? 
1  TWRP No se puede limpiar o formatear `Error al montar '/ SISTEMA' (dispositivo o recurso ocupado)` 
0  2 carpetas del mismo nombre en el almacenamiento interno de OnePlus3 
1  ¿Android 8 tiene un diario habilitado en su sistema de archivos ext4? 
0  En Android 8, durante la grabación de video, ¿cómo se guardan los datos en el disco? 
0  Carpeta de la cámara que se muestra tan vacía, pero contiene datos de 20 GB 
4  ¿Cómo deshabilitar DM-Verity en Android con "Usuario" Tipo de compilación ROM? 
5  ¿Cómo desempacar / repasar el sistema.img de la ROM de Android? 
0  ¿En qué archivo del sistema Android puedo eliminar el campo de la contraseña de Wi-Fi? 



© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.