[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 19# hentai87
不是,可以设置变量,执行一次adb shell pm list package -3就行了

TOP

回复 18# went


是指你上次说的吗
我成功了啊
for %%i in (.\bak\*.apk) do (
        for /f "delims=^_ tokens=3" %%A in ("%%i") do (
                echo %%~nA
                adb shell pm dump %%~nA | findstr /i /C:"Unable to find package" && ( adb install %%i ) || ( echo 已安装,跳过 )
        )
)

实际执行过程每次就要adb,很慢

如果能直接获得未安装列表,直接执行安装,不就能快一倍了

TOP

能否看下你的apk文件命名方式
如果能取出包名,两个for就可以解决

TOP

回复 16# newswan


wiki.mooncell.app
com.google.zxing.client.android
com.miv.rtmpcamera
com.zhiyoo
com.bilibili.fatego
com.homelink.android
com
dkplugin.ylg.mux
in.zhaoj.shadowsocksr
cn.colg.android
com.alibaba.android.rimet
com.alibaba.android.security.activity
com.baidu.wallet
com.bilibili.comic
com.bly.dkplat
com.cn21.ecloud
com.enniu.fund
com.estrongs.android.pop
com.iflytek.inputmethod
com.ihewro
com.immomo.momo
com.keramidas.TitaniumBackup
com.kuaishou.nebula
com.kumobius.android.duet
com.liqu.app
com.netease.cloudmusic
com.picacomic.fregata
com.pingan.paces.ccms
com.pp.assistant
com.qzone
com.sankuai.meituan.takeoutnew
com.sgcc.wsgw.cn
com.taobao.idlefish
com.taptap
com.tencent.gamehelper.dnf
com.tencent.gamehelper.smoba
com.tencent.tmgp.sgame
com.valvesoftware.android.steam.community
com.xiaomi.router
com
com.zhangdan.app
net.dinglisch.android.taskerm
ru.sxbuIDfx.pFSOyagrF
tv.danmaku.bili
bos.consoar.imagestitch
cn.xiaochuankeji.tieba
com.android.app.quanmama
com.autonavi.minimap
com.chinamworld.bocmbci
com.fbank.mobile
com.sky.xposed.rimet
com.taobao.etao
com.tencent.token
com.xunmeng.pinduoduo
org.meowcat.edxposed.manager
air.tv.douyu.android
ccc71.at.free
cn.garymb.ygomobile
cn.soulapp.android
cn.wq.myandroidtools
com.aboutjsp.thedaybefore
com.android.calculator2
com.antfortune.wealth
com.baidu.netdisk
com.binance.dev
com.cebbank.mobile.cemb
com.coolapk.market
com.cryptobees.mimind
com.dv.adm
com.eg.android.AlipayGphone
com.findtheway
com.flyersoft.moonreaderp
com.greenpoint.android.mc10086.activity
com.habitrpg.android.habitica
com.huanchengfly.tieba.post
com.jd.jrapp
com.jingdong.app.mall
com.joaom**.autonotification
com.keramidas.TitaniumBackupAddon
com.microsoft.office.excel
com.njgdmm.zjy
com.omarea.vtools
com.p1.mobile.putong
com.realbyteapps.moneymanagerfree
com.sankuai.meituan
com.sdu.didi.psnger
com.slowlyapp
com.softbank.mbank.xy.gafz
com.taobao.litetao
com.taobao.taobao
com.teamviewer.quicksupport.market
com.teamviewer.teamviewer.market.mobile
com.tencent.djcity
com.tencent.mm
com.tencent.mobileqq
com.tencent.tgclub
com.tencent.xriver
com.teslacoilsw.launcher
com.topjohnwu.magisk
com.unionpay
com.winterso.markup.annotable
com.wo.voice2
com.workpail.inkpad.notepad.notes
com.xiaomi.jr
com.ymbank.mbank.app
com.zhaopin.social
com.zhihu.android
de.telekom.tsc
eu.thedarken.sdm
eu.thedarken.sdm.unlocker
flar2.exkernelmanager
gov.anzong.androidnga
jp.pxv.android
net.dotpicko.dotpict
net.duohuo.magapp.jysq
org.mozilla.firefox
org.telegram.messenger
web1n.stopapp
cf.playhi.freezeyou
com.accuweather.android
com.dmzj.manhua
com.google.android.apps.nbu.files
com.hily.app
com.lgh.accessibilitytool
com.rarlab.rar
com.setupvpn.main
me.piebridge.brevent
moe.shizuku.privileged.api
org.isoron.uhabits
rikka.appops
xzr.La.systemtoolbox

com.tencent.tmgp.sgame web1n.stopapp com.sankuai.meituan github.tornaco.xposedmoduletest eu.thedarken.sdm.unlocker moe.shizuku.privileged.api com.tencent.mm com.sdu.didi.psnger com.chinamworld.bocmbci com.milecn.milevideo com.omarea.vtools org.meowcat.edxposed.manager com.estrongs.android.pop com.findtheway xzr.La.systemtoolbox com.tencent.mobileqq com.unionpay com.topjohnwu.magisk ccc71.at.free cn.wq.myandroidtools com.zhihu.android com.jd.jrapp com.coolapk.market eu.thedarken.sdm com.jingdong.app.mall com.mmbox.xbrowser com.autonavi.minimap com.alibaba.android.rimet flar2.exkernelmanager com.iflytek.inputmethod cn.soulapp.android tv.danmaku.bili com.eg.android.AlipayGphone com.taobao.etao

TOP

输出 s1 s2 看看,里面有空格等特殊符号?

TOP

回复 14# newswan


依旧闪退
我加了pause查了下,前面echo %s2% echo %s1%  没问题,
(echo %s1%) | findsrt %s2%这句可能有什么错误
s1 用换行符,s2 用空格,没错啊

TOP

  1. for %%i in (.\bak\*.apk) do (
  2.         for /f "delims=^_ tokens=3" %%A in ("%%i") do (
  3.         set "s1=!s1!%%~nA!lf!"
  4.         )
  5. )
  6. for /f "usebackq delims=:== tokens=2,3,4" %%i in (`adb shell pm list packages -f -3`) do (
  7.         if "%%k"=="" (set P=%%j) else (set P=%%k)
  8.         set "s2=!s2!!P! "
  9. )
  10. (echo %s1%) | findsrt %s2%
复制代码
s1 用换行符,s2 用空格

TOP

回复 12# newswan


看不懂,%s%不是不能用了吗,是!s!吗
%f%又是什么是第二个!s! 吗
闪退 ,出错了
for %%i in (.\bak\*.apk) do (
        for /f "delims=^_ tokens=3" %%A in ("%%i") do (
        set "s1=!s1!%%~nA "
        )
)

for /f "usebackq delims=:== tokens=2,3,4" %%i in (`adb shell pm list packages -f -3`) do (
        if "%%k"=="" (set P=%%j) else (set P=%%k)
        set "s2=!s2!!P! "
)

(echo !s1!) | findsrt !s2!
pause

TOP

本帖最后由 newswan 于 2020-7-21 14:38 编辑

匹配字符串,不用换行符,用空格分隔,
  1. set "s=!s!!P! "
复制代码
管道之前的命令,加括号
  1. (echo %f%) | findsrt %s%
复制代码

TOP

回复 8# went


    可行,但是每次都adb ,有点慢,还是先对比list吧

TOP

本帖最后由 hentai87 于 2020-7-21 11:51 编辑

对比不出来
  1. setlocal enabledelayedexpansion
  2. set Lf=^&echo,
  3. for %%i in (.\bak\*.apk) do (
  4. for /f "delims=^_ tokens=3" %%A in ("%%i") do (
  5. set file1=!file1!%%~nA!Lf!
  6. )
  7. )
  8. echo %file1%
  9. pause
  10. for /f "usebackq delims=:== tokens=2,3,4" %%i in (`adb shell pm list packages -f -3`) do (
  11. if "%%k"=="" (set P=%%j) else (set P=%%k)
  12. set file2=!file2!!P!!Lf!
  13. )
  14. echo %file2%
  15. pause
  16. echo 未安装有:
  17. echo %file1% | findsrt %file2%
  18. pause
复制代码

TOP

  1.   set file=!file!%%~ni!Lf!
复制代码
Lf 延迟扩展,并且放在 %%i 之后

TOP

可以用dump来查看是否安装了相应的包名
你要在文件名中把包名截取出来
  1. adb shell pm dump com.tencent.mm | findstr /i /C:"Unable to find package" && ( echo 未安装 ) || ( echo 已安装 )
复制代码

TOP

回复 6# went


是的,我已经用if not exist解决了

但是反过来就不行了,【找未安装的备份去安装】
未安装显然不能if not exist,因为不是文件
但是又不存在 for no in 语法

TOP

是要查找没有备份的包名吗

TOP

返回列表