Wie von ss-3-1415926535897932384626433 beschrieben, gibt es kein Flag, aber Sie müssen zuerst eine Liste der Dateien abrufen und dann prüfen, ob Ihre lokalen Dateien übereinstimmen. Ich habe ein kleines Skript dafür geschrieben:
#!/bin/sh
rfolder=/sdcard/DCIM/Camera
lfolder=Camera
adb shell ls "$rfolder" > android.files
ls -1 "$lfolder" > local.files
rm -f update.files
touch update.files
while IFS= read -r q; do
# Remove non-printable characters (are not visible on console)
l=$(echo ${q} | sed 's/[^[:print:]]//')
# Populate files to update
if ! grep -q "$l" local.files; then
echo "$l" >> update.files
fi
done < android.files
script_dir=$(pwd)
cd $lfolder
while IFS= read -r q; do
# Remove non-printable characters (are not visible on console)
l=$(echo ${q} | sed 's/[^[:print:]]//')
echo "Get file: $l"
adb pull "$rfolder/$l"
done < "${script_dir}"/update.files
Passen Sie den Remote-Ordner rfolder
und den lokalen Ordner lfolder
an Speicherorte Ihrer Wahl an.
adb-sync - kleines, aber leistungsstarkes Python-Skript, das all Ihre Fragen und mehr erfüllt ... https://github.com/google/adb-sync
quelle
adb pull
scheint kein Flag zum Abrufen ausgewählter Dateien bereitzustellen .Um dies zu umgehen, können Sie Folgendes tun: Verwenden Sie diese Option,
adb shell [Unix shell command]
um ausgewählte Dateien an einen temporären Speicherort zu kopieren und dann alle Dateien von diesem Speicherort abzurufen.Update:
Sie können den
cp -u [source] [destination]
Unix-Shell-Befehl verwenden, um beim nächsten Ausführen nur geänderte Dateien zu kopieren. Sie können das-r
Flag auch verwenden , um es in rekursiven Unterverzeichnissen zu verwenden, falls dies erforderlich ist.quelle
adb pull
in dieser Liste zu verwenden.