Saya mencoba menggunakan perintah adb pull untuk menyalin hanya file tertentu (jpg) ke macbook saya. Saya mencoba "adb pull sdcard/mydir/*.jpg" tetapi tampaknya tidak'tidak menafsirkan wildcard. Bagaimana saya bisa mendapatkan hanya file jpg yang disalin? Saya telah melakukan rooting ponsel jika itu membantu.
Anda dapat memindahkan file Anda ke folder lain dan kemudian menarik seluruh folder.
adb shell mkdir /sdcard/tmp adb shell mv /sdcard/mydir/*.jpg /sdcard/tmp # pindahkan jpeg anda ke dir sementara adb pull /sdcard/tmp/ # tarik direktori ini (pastikan untuk meletakkan '/' di akhir) adb shell mv /sdcard/tmp/* /sdcard/mydir/ # pindahkan mereka kembali adb shell rmdir /sdcard/tmp # menghapus direktori sementara
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
Buatlah itu dapat dieksekusi: chmod +x pullFiles.sh
Jalankan: ./pullFiles.sh
Mengenai skrip pendek, yang berikut ini berjalan pada host Linux saya
#!/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 minus one" memungkinkan "ls" menampilkan satu file per baris, dan tanda kutip mengizinkan spasi dalam nama file.