回答:
ss-3-1415926535897932384626433で説明されているように、フラグはありませんが、最初にファイルのリストを取得してから、ローカルファイルが一致するかどうかを確認する必要があります。私はそのための小さなスクリプトを書きました:
#!/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
リモートフォルダーrfolder
とローカルフォルダーlfolder
を任意の場所に調整します。
adb-sync-小さくてもパワフルなPythonスクリプトで、要求されたすべてのことを実行できます... https://github.com/google/adb-sync
adb pull
選択したファイルをプルするためのフラグを提供していないようです。
回避策として、これを行うことができます。を使用adb shell [Unix shell command]
して、選択したファイルを一時的な場所にコピーし、その場所からすべてのファイルをプルします。
更新: unixシェルコマンドを
使用cp -u [source] [destination]
して、以降の実行時に変更されたファイルのみをコピーできます。-r
必要に応じて、フラグを使用してサブディレクトリで再帰的に使用することもできます。
adb pull
そのリストで使用できます。