Comme décrit par ss-3-1415926535897932384626433, il n'y a pas d'indicateur, mais vous devez d'abord obtenir une liste de fichiers, puis vérifier si vos fichiers locaux correspondent. J'ai écrit un petit script pour ça:
#!/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
Ajustez le dossier distant rfolder
et le dossier local lfolder
aux emplacements de votre choix.
Anne van Rossum
la source
adb-sync - petit script python puissant qui peut faire tout ce que vous demandez et plus encore ... https://github.com/google/adb-sync
la source
adb pull
ne semble pas fournir d'indicateur pour extraire les fichiers sélectionnés .Pour résoudre ce problème, vous pouvez procéder comme suit: Utilisez
adb shell [Unix shell command]
pour copier les fichiers sélectionnés vers un emplacement temporaire, puis extrayez tous les fichiers de cet emplacement.Mise à jour:
vous pouvez utiliser la
cp -u [source] [destination]
commande shell unix pour copier uniquement les fichiers modifiés lors de l'exécution suivante. Vous pouvez également utiliser l'-r
indicateur pour l'utiliser sur des sous-répertoires récursifs, si nécessaire.la source
adb pull
sur cette liste.