답변:
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-작지만 강력한 파이썬 스크립트로 모든 질문을 할 수 있습니다 ... https://github.com/google/adb-sync
adb pull
선택한 파일을 가져 오는 플래그를 제공하지 않는 것 같습니다 .
해결 방법으로 다음을 수행 할 수 있습니다. adb shell [Unix shell command]
선택한 파일을 임시 위치로 복사 한 다음 해당 위치에서 모든 파일을 가져옵니다.
업데이트 : unix shell 명령을
사용 cp -u [source] [destination]
하여 후속 실행시 수정 된 파일 만 복사 할 수 있습니다 . -r
필요한 경우 플래그를 사용하여 재귀 서브 디렉토리에서이를 사용할 수 있습니다 .
adb pull
해당 목록에서 사용할 수 있습니다 .