【发布时间】:2020-05-10 23:28:09
【问题描述】:
myapps.txt - 包含通过adb shell pm list packages > myapps.txt找到的所有包的列表
package:com.flipkart.android
package:com.android.certinstaller
package:com.android.carrierconfig
package:com.reddit.frontpage
package:com.wapi.wapicertmanage
package:com.brave.browser
以下是我在批处理脚本中编写的代码,用于使用 ADB 一次性将所有应用从 android 复制到 PC。 其次,我用冒号(:) 分割我的字符串,例如 -
string1 包含 package 和
string2 包含com.google.android.youtube
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in (myapps.txt) do (
echo j: %%j
set string2=%%j
adb shell pm path !string2! > tmp.txt
set /p new=< tmp.txt
@echo on
@echo new: !new!
@echo off
set "str=%new%"
set "string1=%str::=" & set "string3=%"
del tmp.txt REM delete file after reading from it.
REM creating new folder for each app
mkdir apps_%input%\%string2%
REM pulling app from Android to PC
adb pull %string3% apps_%input%\%string2%
set /a count+=1
echo Done !count!
)
这是我得到的 for 循环执行 2 次后的以下输出
j: com.flipkart.android
new: package:/data/app/com.flipkart.android-XOmoiAws7zOd07eM1nZIlg==/base.apk
A subdirectory or file apps_2\ already exists.
adb: error: failed to stat remote object 'apps_2\': No such file or directory
Done 1
j: com.android.certinstaller
new: package:/system/app/CertInstaller/CertInstaller.apk
A subdirectory or file apps_2\ already exists.
adb: error: failed to stat remote object 'apps_2\': No such file or directory
Done 2
请帮助我为什么会得到这个输出。另外apps_2在执行之前不存在如何提示它已经存在。
但是,同样的事情在 cmd 提示符下运行良好:
mkdir apps_2\com.flipkart.android
adb pull /data/app/com.flipkart.android-XOmoiAws7zOd07eM1nZIlg==/base.apk apps_2\com.flipkart.android
这是执行后我收到的输出
/data/app/com.flipkart.android-XOmoiAws7zOd07eM1nZIlg==/base.apk: 1 file pulled. 33.8 MB/s (12691794 bytes in 0.358s)
【问题讨论】:
标签: android windows batch-file adb