使用以下命令提取多个文件的最佳方法是什么
adb pull
我的/sdcard/
25上有以下名称的文件:
gps1.trace
gps2.trace
...
gps25.trace
通配符不工作:
adb pull /sdcard/gps*.trace .
发布于 2012-06-29 01:40:53
您可以使用xargs
和接受通配符的adb shell ls
命令的结果。这允许您复制多个文件。令人恼火的是,adb shell ls
命令的输出包含可以使用tr -d '\r'
删除的换行符控制字符。
示例:
# Using a relative path
adb shell 'ls sdcard/gps*.trace' | tr -d '\r' | xargs -n1 adb pull
# Using an absolute path
adb shell 'ls /sdcard/*.txt' | tr -d '\r' | sed -e 's/^\///' | xargs -n1 adb pull
发布于 2012-10-02 02:15:43
adb pull
可以接收目录名,而不是at file,它将拉取其中包含所有文件的目录。
在/sdcard/gpsTraces中提取所有gps轨迹
adb pull /sdcard/gpsTraces/ .
递归目录的adb pull
和adb push
示例:
C:\Test>adb pull /data/misc/test/ .
pull: building file list...
pull: /data/misc/test/test1/test2/test.3 -> ./test1/test2/test.3
pull: /data/misc/test/test1/test2/test.2 -> ./test1/test2/test.2
pull: /data/misc/test/test1/test2/test.1 -> ./test1/test2/test.1
pull: /data/misc/test/test1/test.3 -> ./test1/test.3
pull: /data/misc/test/test1/test.2 -> ./test1/test.2
pull: /data/misc/test/test1/test.1 -> ./test1/test.1
pull: /data/misc/test/test.3 -> ./test.3
pull: /data/misc/test/test.2 -> ./test.2
pull: /data/misc/test/test.1 -> ./test.1
9 files pulled. 0 files skipped.
0 KB/s (45 bytes in 0.093s)
C:\Test>adb push . /data/misc/test/
push: ./test1/test2/test.3 -> /data/misc/test/test1/test2/test.3
push: ./test1/test2/test.2 -> /data/misc/test/test1/test2/test.2
push: ./test1/test2/test.1 -> /data/misc/test/test1/test2/test.1
push: ./test1/test.3 -> /data/misc/test/test1/test.3
push: ./test1/test.2 -> /data/misc/test/test1/test.2
push: ./test1/test.1 -> /data/misc/test/test1/test.1
push: ./test.3 -> /data/misc/test/test.3
push: ./test.2 -> /data/misc/test/test.2
push: ./test.1 -> /data/misc/test/test.1
9 files pushed. 0 files skipped.
0 KB/s (45 bytes in 0.062s)
发布于 2014-03-11 18:58:10
./adb pull /sdcard
<--失败
./adb pull /sdcard/
<--以递归方式工作--注意后面的斜杠
使用Nexus 5进行测试,并于2014年3月下载了adb。
https://stackoverflow.com/questions/11074671
复制相似问题