3 votos

adb pull dice que sacó todos los archivos de mi teléfono Android en mi PC con Windows, pero en realidad no lo hizo

Así que estoy usando adb para copiar todos mis archivos de Android a mi PC con Windows con este comando: adb pull -a /mnt/sdcard C:\backup

Y cuando se hace dice todo x cantidad de archivos se han tirado, puedo confirmar que el número de archivos sacados coincide con la cantidad de archivos que residen dentro de la carpeta de mi almacenamiento de Android, pero cuando compruebo cuántos archivos están realmente en el C:\backup veo que faltan unos 200 o, en otras palabras, adb se saltó unos 200 archivos y no los copió a mi C:\backup carpeta.

Entiendo que esto podría deberse a límite del camino o debido a que algunos archivos contienen caracteres en sus nombres que el sistema de archivos NTFS de Windows simplemente no permite.

¿Cómo puedo ver qué archivos se saltan realmente? ¿Hay algún interruptor en adb ¿o algún truco?

1 votos

En su lugar, puede utilizar tar en el dispositivo para crear un archivo tar con todos los archivos y transmitirlo a su PC. Puede que el tar funcione de forma más fiable: Android.stackexchange.com/a/194854/2241 Si tu dispositivo no está rooteado quita el su parte y adaptar el camino.

0 votos

@Robert He utilizado adb exec-out 'tar c /storage/emulated/0/123.txt' > 123.tar pero sólo crea un archivo tar corrupto.

0 votos

@alecxs /mnt/sdcard/ es el almacenamiento interno y también es el mismo que /storage/emulated/0 y no, no estoy intentando sacar cosas de una MicroSD, estoy intentando sacar todos los archivos del directorio Root del almacenamiento interno.

6voto

pr0nin Puntos 353

El simple hecho de llevar todos los archivos vía adb a un ordenador con Windows tiene múltiples problemas:

  1. Android/Linux permite varios archivos en un mismo directorio que sólo difieren en su caso.
  2. El sistema de archivos en Linux permite caracteres en los nombres de archivos y directorios que no están permitidos en Windows
  3. Algunos nombres de archivo están completamente prohibidos en Windows y son simplemente nombres de archivo normales en Linux/Android
  4. Hay un límite de ruta como ya han mencionado que puede causar problemas

Por lo tanto, la mejor solución para crear una copia de seguridad completa de la tarjeta sd es empaquetar todos los archivos en un archivo tar, ya que todas las limitaciones del sistema de archivos de Windows pueden evitarse utilizando este método.

A través de adb se crea una copia de seguridad completa de la tarjeta sd utilizando el siguiente comando:

adb exec-out "cd /storage/emulated/0 && tar c * -" > sdcard.tar

Este comando crea el archivo tar en el dispositivo y transmite directamente los datos del archivo tar a través de adb a su PC y lo guarda allí como sdcard.tar .

0 votos

@alexs Tienes razón 1 no es posible pero 2 y 3 son válidos. Los nombres de archivo con barra invertida son posibles y los nombres reservados como aux y com1 también son posibles solo como ejemplo.

0 votos

Oh no que estupidez de sdcardfs. el comportamiento del pensamiento es el mismo que vfat

0 votos

Me gustaría que esto funcionara, pero simplemente obtengo un archivo tar corrupto sin importar qué.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X