Я пытаюсь использовать команду adb pull для копирования только определенных файлов (jpg) на мой macbook. Я попробовал "adb pull sdcard/mydir/*. Jpg", но он, по-видимому, не интерпретирует подстановочные знаки. Как я могу получить только файлы jpg, скопированные? Я использовал телефон, если это поможет.
Как скопировать выбранные файлы с Android с помощью adb pull
Ответ 1
Вы можете переместить файлы в другую папку, а затем вытащить целую папку.
adb shell mkdir /sdcard/tmp adb shell mv /sdcard/mydir/*.jpg /sdcard/tmp # move your jpegs to temporary dir adb pull /sdcard/tmp/ # pull this directory (be sure to put '/' in the end) adb shell mv /sdcard/tmp/* /sdcard/mydir/ # move them back adb shell rmdir /sdcard/tmp # remove temporary directory
Ответ 2
Вытяните несколько файлов с помощью регулярного выражения:
Создать 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
Запустите его:
Сделайте его выполнимым: chmod +x pullFiles.sh
Запустите его: ./pullFiles.sh
Примечания:
- как есть, не будет работать, когда имена файлов имеют пробелы
- включает исправление для конца строки (EOL) на Android, которое является "\ r\n"