我试图创build一个batch file,使用adb pull从我的Android手机中提取所有的摄像头video。
set source=/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video set destination=S:\Archive\Autoboy\original for /f "usebackq" %%f in (`adb shell ls %source%`) do ( echo.adb pull %source%/%%f )
这个脚本可以工作 ,因为这会创build下面的输出(出于debugging目的回显):
adb pull /mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video/2017_08_28_08_33_53.mp4
adb pull /mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video/2017_08_28_18_35_14.mp4
- 如何使用findstr来获取MAC地址?
- 如何杀死通过Windows CMD线使用C#生成的进程?
- 用带空格的文件运行CMD命令
- Android adb的Windows源代码在哪里?
- 如何给cmd中的findstr输出着色?
[…]
但是,当我尝试将目标定义到adb pull命令时,它不起作用 。
set source=/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video set destination=S:\Archive\Autoboy\original for /f "usebackq" %%f in (`adb shell ls %source%`) do ( echo.adb pull %source%/%%f %destination%\%%f )
这一个给出了以下输出:
S:\存档\ Autoboy \原有\ 2017_08_28_08_33_53.mp4nz.blackbox /文件/ autoboy / autoboy_video / 2017_08_28_08_33_53.mp4
S:\存档\ Autoboy \原有\ 2017_08_28_18_35_14.mp4nz.blackbox /文件/ autoboy / autoboy_video / 2017_08_28_18_35_14.mp4
[…]
如果我试图实际运行命令而不是回显,它给了我一个不同的扰码string:
'does not existmnt / m_external_sd / Android / data / com.happyconz.blackbox / files / autoboy / autoboy_video / 2017_08_28_08_33_53.mp4
在运行这个脚本之前,我需要在cmd中设置什么东西,还是这是一个真正的bug?
当然,我可以cd到我的目的地。 dir,然后运行pull而不给它的目的地,但这是一个简单的脚本不必要的复杂化。
我敢打赌,这是因为Windows和Unix使用不同的新行定义。
更改您的最终文件名只使用该文件的基础和扩展名,并报价封装它的安全性:
echo.adb pull %source%/%%f "%destination%\%%~nxf"
这可能会有所帮助。