我正在尝试使用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'不被识别为内部或外部命令,可操作程序或批处理文件。"
我做错了什么?提前谢谢!
答案 0 :(得分:1)
没有内置" tr"或" xargs" Windows中的命令。 这是我的Windows工作批处理脚本。修改模式并将其保存为***。bat文件,将其复制到本地目录(在您的情况下是HTC2文件夹),然后双击它或在此文件夹的cmd窗口中运行它。
@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