Seperti dijelaskan oleh ss-3-1415926535897932384626433 tidak ada flag, tetapi Anda harus mendapatkan daftar file terlebih dahulu dan kemudian memeriksa apakah file lokal Anda cocok. Saya menulis naskah kecil untuk itu:
#!/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
Sesuaikan folder jarak jauh rfolder
dan folder lokal lfolder
ke lokasi pilihan Anda sendiri.
adb-sync - skrip python kecil namun kuat yang dapat melakukan semua yang Anda minta dan banyak lagi ... https://github.com/google/adb-sync
sumber
adb pull
tampaknya tidak memberikan tanda untuk menarik file yang dipilih .Sebagai solusinya, Anda dapat melakukan ini: Gunakan
adb shell [Unix shell command]
untuk menyalin file yang dipilih ke lokasi sementara dan kemudian tarik semua file dari lokasi itu.Pembaruan:
Anda dapat menggunakan
cp -u [source] [destination]
perintah unix shell untuk menyalin hanya file yang dimodifikasi pada proses selanjutnya. Anda juga dapat menggunakan-r
flag untuk menggunakannya pada subdirektori rekursif, jika diperlukan.sumber
adb pull
pada daftar itu.