如何使用“adb pull”拉出较新的文件? (Android SDK实用程序) -- adb 领域 android 相关 的问题

How to pull only newer files with “adb pull”? (Android SDK utility)


13
vote

问题

中文

使用命令"adb pull / sdcard /" 我可以将我的Android手机内部内存的所有内容复制到我当前的本地目录(和"adb pull / mnt / extsdcard / extsdcard /" 与外部SD相同卡片)。但该命令总是复制一切,即使是我已经本地存储的文件也是如此。

是否有任何方法可以复制新的和修改文件? (带有更新日期的文件)

英文原文

With the command "adb pull /sdcard/" I can copy all the contents of the internal memory of my Android phone into my current local directory (and "adb pull /mnt/extSdCard/" does the same with the external SD card). But that command always copies everything, even files I already have stored locally.

Is there any way to copy only new and modified files? (files with a newer date)

  

回答列表

9
 
vote
vote
最佳答案
 

如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 到您自己选择的位置。

 

As described by ss-3-1415926535897932384626433 there is no flag, but you have to get a list of files first and then check if your local files match. I wrote a little script for it:

#!/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 

Adjust the remote folder rfolder and the local folder lfolder to locations of your own choice.

 
 
     
     
7
 
vote

adb-sync - small,但功能强大的python脚本可以完成所有要求的...... https://github.com/google/adb-sync

 

adb-sync - small, yet powerfull python script that can do all your asked and more... https://github.com/google/adb-sync

 
 
   
   
4
 
vote

adb pull 似乎没有提供旗帜选定的文件。

作为解决方法,您可以执行此操作:使用 adb shell [Unix shell command] 将所选文件复制到临时位置,然后从该位置中拉所有文件。

更新:
您可以使用 cp -u [source] [destination] unix shell命令来在后续运行时仅复制修改后的文件。您还可以使用 -r 标志来在子目录上使用它,如果需要。

 

adb pull doesn't seem to provide a flag to pull selected files.

As a workaround, you can do this: Use adb shell [Unix shell command] to copy selected files to a temporary location and then pull all files from that location.

Update:
You can use cp -u [source] [destination] unix shell command to copy only modified files on subsequent run. You can also use -r flag to use it on subdirectories recursive, if its required.

 
 
       
       

相关问题

7  如何使用adb更改“首选网络模式”而无需重新启动?  ( How to change preferred network mode using adb without reboot ) 
我正在尝试将手机的(cm 12,股票4.2,rooted)首选的网络模式从"gsm / wcdma" (0)更改为"WCDMA仅" (2),反之亦然(可以有其他模式也是)仅使用命令行。基于这个答案我可以使用命令将相关变化与 Settings.db 进行相关变化: adb shell su settings...

0  在Amazon 4K Fire TV Stick上启动循环  ( Boot looping on amazon 4k fire tv stick ) 
我正在使用我的亚马逊4k火电视。 昨天,我不得不将遥控器搭配在我们家中的另一个棍子(因为有人忘记自己的偏远),从那时起,棍子已经用橙色亚马逊字体启动了白色背景,称'火灾电视'。同样,我不确定如何在设备上安装Google Play可能也导致了技术难度,其中一些在网络上声称。 我已经联系过亚马逊,让我走到几个顾问,所...

0  强制使用Android平板电脑从PC连接到WiFi  ( Forcing an android tablet to connect to a wifi from pc ) 
遍之前,我有一个平板电脑(Coby Kyros Mid9742),当屏幕戒烟时(触摸屏的一半不识别触摸,在2个部分中分开)。 我试图通过HDMI电缆将平板电脑作为视频播放器用于投影仪,我的旧电话(Galaxy S,No Stuity)作为遥控器。我已经使用第三方应用程序效果了。 但主要问题是将平板电脑连接到WiFi使...

4  adb pull - 将整个文件夹复制到计算机  ( Adb pull copy whole folder to computer ) 
如何将文件夹从android设备复制到我的计算机的某个文件夹? 如果我使用这个命令: adb pull efs 它将EFS文件夹的内容复制到我的计算机根目录。我想用它的内容复制整个文件夹到我的计算机的某个目的地。 我试过下面的例如,没有成功 adb pull efs C:Users (我的and...

49  有没有办法让我以root身份运行adb shell而无需打字“su”?  ( Is there a way for me to run adb shell as root without typing in su ) 
有没有办法让我以root身份运行adb shell而无需键入 su ?我希望能够在没有进入shell的情况下获得root访问权限。 ...

0  通过WiFi连接时的adb问题  ( Adb issue while connecting through wifi ) 
我正在使用此命令从计算机运行adb端口转发到mobile: adb forward tcp:6401 tcp:50000 在我通过同一台计算机访问它时,它完全正常(访问127.0.0.1),但是一旦我尝试通过当地WiFi(本地IP 192.168.1.134)即可达到它,我会得到"连接拒绝" 。我做错了什么...

1  如何通过adb备份和恢复APN设置?  ( How to backup and restore apn setting via adb ) 
如何通过adb备份和恢复APN设置? 我在没有root的Android 6.0上。 ...

2  arshmallow上的adb备份 - 它是不同的吗?  ( Adb backup on marshmallow is it different ) 
设备和设置: moto x播放(股票6.0.1), unrooted , USB调试在开发人员选项中启用并使用 adb devices 验证。其他USB / Developer选项,如在 下面的图片中 使能桌面备份密码此处推荐 adb备份命令在非生根设备上创建一个空备份文件? 设备未加密 在设备...

7  如何通过adb shell提取.zip  ( How to extract zip through adb shell ) 
标题所说的准确。我的SDCard上有一个1.5 GB的zip文件,我想通过adb提取(未拔去电脑并推回)。有没有一个简单的命令来解压缩文件? 谢谢! ...

3  可以在笔册(ofrooted)上使用“adb remount”?  ( Can adb remount be used on a stock phone unrooted ) 
是否可以使用 adb remount 使用标准固件,而无需根根设备?如果没有,是否有另一种方法可以强制系统制作/系统在没有根根的情况下写入? ...

43  有没有办法查看内部并修改adb备份创建的文件?  ( Is there a way to look inside and modify an adb backup created file ) 
我创建了我的Galaxy Nexus的备份,其中 adb backup 。生成的文件名为backup.db,它是某种方式加密。 我想恢复备份,但它在恢复 com.android.providers.contacts 时停止。我使用 adb logcat ,了解正在发生的事情,并发现 com.android.acore...

1  xiaomi m8se fastboot循环尝试安装twrp时  ( Xiaomi m8se fastboot loop when trying to install twrp ) 
在尝试安装TWRP时(Xiaomi Mi 8se的最新版本),我设法使用adb安装最新的twrp(Fastboot闪存恢复"C: Program Files(x86) minimal adb和fastboot twrp.img)。 但是,一旦我引导到TWRP,它不会将其设置为默认加载程序。 在擦除数据后,尝试在此处...

31  通过adb备份和恢复Android设置和应用程序  ( Backup and restore android settings and application through adb ) 
我想询问是否有可能通过adb备份和恢复所有Android设置和应用程序。 我试过: adb backup -all adb: unable to connect for backup 它不起作用,而所有其他命令都在工作。 是可以使用这个 bmgr ...

3  我的nexus 4上的adb问题(未经授权的电话)  ( Problem with adb on my nexus 4 unauthorized phone ) 
在CMD中运行adb设备时,它表示我的手机未经授权。似乎它与RSA指纹提示有关。我不记得曾经得到这样的提示。是的,我在PTP模式下运行,并启用调试。我尝试过多个小时的互联网尝试: 启用/禁用调试模式反复 卸载并重新安装我的手机或adb 的驱动程序 adb-killserver 和 adb-startserver...

0  Nexus 10未在Debian Wheezy / Mac OS / Windows 8上识别adb  ( Nexus 10 not recognized on debian wheezy mac os windows 8 with adb ) 
我正在尝试将我的平板电脑Nexus 10 + Android 4.4 + Cyanogen-Mod 11连接到我的桌面电脑,我已经使用亚行安装了Debian Wheezy。它在前段时间工作,现在它既不再使用Debian Linux也不是Windows 8或Mac OS。在这里检查: root@localhost:...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.