Estoy intentando utilizar el comando de extracción de adb para copiar solo ciertos archivos (jpg) a mi macbook. Intenté “adb pull sdcard / mydir / *. Jpg” pero aparentemente no interpreta comodines. ¿Cómo puedo obtener solo los archivos jpg copiados? Arreglé el teléfono si eso ayuda.
Puede mover sus archivos a otra carpeta y luego extraer toda la carpeta.
adb shell mkdir / sdcard / tmp adb shell mv /sdcard/mydir/*.jpg / sdcard / tmp # mueve tus archivos jpegs al directorio temporal adb pull / sdcard / tmp / # extrae este directorio (asegúrate de poner '/' al final) adb shell mv / sdcard / tmp / * / sdcard / mydir / # muévelos de nuevo adb shell rmdir / sdcard / tmp # eliminar el directorio temporal
pullFiles.sh
: #!/bin/bash HOST_DIR= DEVICE_DIR=/sdcard/ EXTENSION=".jpg" for file in $(adb shell ls $DEVICE_DIR | grep $EXTENSION'$') do file=$(echo -e $file | tr -d "\r\n"); # EOL fix adb pull $DEVICE_DIR/$file $HOST_DIR/$file; done
Hazlo ejecutable: chmod +x pullFiles.sh
Ejecútelo: ./pullFiles.sh
En cuanto al script corto, lo siguiente se ejecuta en mi host de Linux
#!/bin/bash HOST_DIR= DEVICE_DIR=/sdcard/ EXTENSION="\.jpg" while read MYFILE ; do adb pull "$DEVICE_DIR/$MYFILE" "$HOST_DIR/$MYFILE" done < $(adb shell ls -1 "$DEVICE_DIR" | grep "$EXTENSION")
"ls menos uno" le permite a "ls" mostrar un archivo por línea y las comillas permiten espacios en el nombre del archivo.