使用ADB Pull根据文件名

时间:2015-07-22 05:10:48

标签: android

我正在尝试使用ADB根据包含特定字符的文件名来提取文件。手机不是HTC One的根源。 PC是Windows 7.

我发现了这个问题:adb pull multiple files

该主题中的原始代码是:

adb shell ls /sdcard/gps*.trace | tr "\n\r" " " | xargs -n1 adb pull

我已将其修改为:

ADB shell ls /mnt/sdcard/dcim/100Media/IMAG07* | tr "\r\n" " " | xargs -n1 adb pull \HTC2

当我运行代码时,我收到错误消息"' tr'不被识别为内部或外部命令,可操作程序或批处理文件。"

我做错了什么?提前谢谢!

2 个答案:

答案 0 :(得分:1)

没有内置" tr"或" xargs" Windows中的命令。 这是我的Windows工作批处理脚本。修改模式并将其保存为***。bat文件,将其复制到本地目录(在您的情况下是HTC2文件夹),然后双击它或在此文件夹的cmd窗口中运行它。

pull_multiple_files

@echo off
rem ======== Modify this line to your pattern =====
adb shell ls /sdcard/*.png >_temp
rem =================================================

setlocal EnableDelayedExpansion
for /f %%i in (_temp) do (
    echo %%i>_temp
    set /p file=<_temp
    echo pulling file: !file!
    adb pull !file!
)
setlocal DisableDelayedExpansion
del _temp

答案 1 :(得分:0)

谢谢你的帮助!我弄清楚我在做什么让你的代码工作。我对此非常陌生(5天前第一次下载了SDK)所以我花了一些时间来完成代码。我在最后添加了cmd \ k,因此命令提示符将保持打开状态,我可以验证它已完成的操作。

rem@echo off
rem ======== Modify this line to your pattern =====
C:\Users\Neil\AppData\Local\Android\sdk1\platform-tools\adb shell ls /mnt/sdcard/dcim/100Media/IMAG09*.jpg >_temp
rem =================================================

setlocal EnableDelayedExpansion
for /f %%i in (_temp) do (
    echo %%i>_temp
    set /p file=<_temp
    echo pulling file: !file!
    C:\Users\Dan\AppData\Local\Android\sdk1\platform-tools\adb pull !file! 
)
setlocal DisableDelayedExpansion
del _temp
cmd /k