我认为adb的推动是基于文件的.我希望能够推送整个文件夹.没有脚本有没有简单的方法?
谢谢!
编辑:我需要使用子文件夹.
编辑:似乎adb pull是递归的,但push不是.所以我相应地改变了标题和描述.
Yur*_*rev 89
试试这个(包含子文件夹的工作)adb push mySourceFolder/. myDestAndroidFolder.
空文件夹不会复制到Android设备.
Die*_*ano 22
adb pull,拉取指定目录中的所有文件:
$ adb pull /mnt/sdcard/
pull: building file list...
pull: /mnt/sdcard/t3.txt -> ./t3.txt
pull: /mnt/sdcard/t2.txt -> ./t2.txt
pull: /mnt/sdcard/t1.txt -> ./t1.txt
3 files pulled. 0 files skipped.
Run Code Online (Sandbox Code Playgroud)
要么
$ adb push . /mnt/sdcard/
push: ./t2.txt -> /mnt/sdcard/t2.txt
push: ./t3.txt -> /mnt/sdcard/t3.txt
push: ./t1.txt -> /mnt/sdcard/t1.txt
3 files pushed. 0 files skipped.
Run Code Online (Sandbox Code Playgroud)
aut*_*tra 19
我将更多地挖掘这个以给出一个完整的解决方案(仅限Linux),因为谷歌重定向到这个,我有这个完全相同的问题.
使用简单的adb推送,问题是所有子目录必须在执行推送之前存在,这可能非常痛苦.
请注意,一个简单的解决方案是压缩文件夹,推拉链接然后在设备上解压缩.但是,假设您没有在设备上解压缩(非常不可能,真的).
您希望将包含许多子目录的完整树推送到空目录myDirectory中的设备.有两个步骤:
首先在源设备中创建所有子目录:
cd <folder-containing-myDirectory>
find myDirectory/ -type d -exec adb shell mkdir <path-to-folder-containing-myDirectory-in-device>/{} \;
Run Code Online (Sandbox Code Playgroud)
此命令查找myDirectory的所有子目录(包括.,因此如果myDirectory已经存在,您将有一个可以安全忽略的错误消息),并且对于每个子目录,在设备上创建匹配目录.
然后推动一切
adb push myDirectory/. <path-to-folder>/myDirectory
Run Code Online (Sandbox Code Playgroud)
小智 5
也遇到了这个问题,发现这篇文章很有用,但可能已经找到了更完整的解决方案。从包含要推送的文件/文件夹的文件夹中运行以下命令:
adb push . /myDestinationFolder
显然,关键是目标文件夹之前的前缀“/”。这在我的 Windows 命令提示符下工作,但是当我从 git bash(在 Windows 上)运行它时,由于 bash shell 中路径中“/”的含义,我得到了一些错误。所以这可能不适用于 linux/bash,但它确实为我复制了所有子文件夹。
| 归档时间: |
|
| 查看次数: |
58022 次 |
| 最近记录: |