Copy a batch of files from Android to PC

2019-01-20 13:19发布

I wrote a piece of script to copy some files to my PC from an Android device:

adb shell ls /sdcard/Download/0*.log > tmp 
while read line
do  
    echo $line
    adb pull $line .
done < tmp 
rm tmp 

However, it seems there is something I missed; it does not work. Could you help me point it out?

I got:

/sdcard/Download/0810-192141.log
' does not existsdcard/Download/0810-192141.log

标签: android bash adb
2条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-01-20 14:12

The reason you're getting the error is the extra \r character on the end of the $line. This should work:

adb shell "ls /sdcard/Download/0*.log" | tr -d '\r' > tmp 
while read line
do  
    echo $line
    adb pull $line .
done < tmp 
rm tmp 
查看更多
▲ chillily
3楼-- · 2019-01-20 14:12
adb shell ls /sdcard/Download/0\*.log > tmp

will work as you expect. Note the \ to avoid the glob being interpreted by your shell.

查看更多
登录 后发表回答