如何通过adb从Android设备中获取最新的屏幕截图?

时间:2017-12-18 10:27:42

标签: android sorting adb screenshot

是否有方法通过ADB从我的设备中提取最新的屏幕截图?

-rw-rw---- 1 root sdcard_rw  137047 2017-11-04 14:02 Screenshot_20171104-140236.png
-rw-rw---- 1 root sdcard_rw   67459 2017-11-04 14:05 Screenshot_20171104-140533.png
-rw-rw---- 1 root sdcard_rw   33939 2017-11-04 14:05 Screenshot_20171104-140557.png
-rw-rw---- 1 root sdcard_rw  329546 2017-11-06 11:12 Screenshot_20171106-111218.png
-rw-rw---- 1 root sdcard_rw  437013 2017-11-13 17:57 Screenshot_20171113-175727.png
-rw-rw---- 1 root sdcard_rw 1200088 2017-11-19 13:44 Screenshot_20171119-134405.png
-rw-rw---- 1 root sdcard_rw  146758 2017-12-12 20:19 Screenshot_20171212-201936.png
-rw-rw---- 1 root sdcard_rw  128158 2017-12-18 11:11 Screenshot_20171218-111151.png

如何提取最新截图?

-rw-rw---- 1 root sdcard_rw  128158 2017-12-18 11:11 Screenshot_20171218-111151.png

目前我正在使用以下方式提取所有文件:

adb pull /mnt/sdcard/Screenshots c:\screenshots

然后在Windows资源管理器中按日期组织它们

Edit1 我可以使用以下方式获取最新文件:

adb shell stat -c %y /mnt/sdcard/Screenshots

2 个答案:

答案 0 :(得分:0)

ADB不支持标志,因此您必须提取所有文件(名称),然后执行一些逻辑以查找最新文件,然后将其拉出。

可以使用脚本,this相关问题中的更多信息。

答案 1 :(得分:0)

我建议捕获获取最新文件的adb命令的输出,并将其重定向到执行 adb pull命令

基于一些相关的answer,用于将命令的输出保存到变量...

FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
    SET var=%%F
)

...将command替换为要捕获的命令输出,然后...

adb pull %var% c:\screenshots

...或...

adb pull /mnt/sdcard/Screenshots/%var% c:\screenshots

... 应该做你想要的。