I'm tratando de utilizar el comando adb pull para copiar sólo ciertos archivos (jpg) a mi macbook. He intentado "adb pull sdcard/mydir/*.jpg" pero al parecer doesn't interpretar comodines. ¿Cómo puedo obtener sólo los archivos jpg copiados? He arraigado el teléfono si eso ayuda.
Puede mover sus archivos a otra carpeta y luego tirar de toda la carpeta.
adb shell mkdir /sdcard/tmp adb shell mv /sdcard/mydir/*.jpg /sdcard/tmp # mueve tus jpegs a la dir temporal adb pull /sdcard/tmp/ # extrae este directorio (asegúrate de poner '/' al final) adb shell mv /sdcard/tmp/* /sdcard/mydir/ # moverlos de nuevo adb shell rmdir /sdcard/tmp # eliminar directorio temporal
pullFiles.sh
:#!/bin/bash
HOST_DIR=<pull-to>
DEVICE_DIR=/sdcard/<pull-from>
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útalo: ./pullFiles.sh
En cuanto a la secuencia de comandos corta, lo siguiente se ejecuta en mi host Linux
#!/bin/bash
HOST_DIR=<pull-to>
DEVICE_DIR=/sdcard/<pull-from>
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" permite que "ls" muestre un archivo por línea, y las comillas permiten espacios en el nombre del archivo.