我想创建一个批处理文件,使用adb pull从我的Android手机中提取所有我的dashcam视频。当我在FOR循环中运行“adb pull [target] [destination]”时,Windows cmd加扰了一些东西
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
)
这个脚本工作,因为这会产生以下输出(呼应用于调试):
亚行拉/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files /autoboy/autoboy_video/2017_08_28_08_33_53.mp4
亚行拉/mnt/m_external_sd/Android/data/com.happyconz.blackbox/files/autoboy/autoboy_video/2017_08_28_18_35_14.mp4
[...]
然而,当我试图定义一个目的地到ADB拉命令,它不起作用。
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
[...]
如果我尝试实际运行的命令,而不是呼应,它给了我一个不同的炒字符串:
'不existmnt/m_external_sd /安卓/数据/ com.happyconz.blackbox /files/autoboy/autoboy_video/2017_08_28_08_33_53.mp4
有什么我需要在cmd中设置运行此脚本之前,或者这是一个真正的错误?
当然我可以cd进入我的目的地。 dir,然后运行pull而不给它目的地,但这是一个简单的脚本不必要的复杂化。
我敢打赌,这是因为Windows和Unix使用不同新线定义。
将adb pull的输出保存到文件中:'adb shell ls%source%> output.txt'并检查它是否回车(CR)。他们有什么不妥。 – wolfrevokcats