设为首页收藏本站

乐卓网

 找回密码
 加入乐卓
查看: 458|回复: 1

ADB

[复制链接]
  • TA的每日心情
    奋斗
    2025-3-12 00:54
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2025-3-11 15:25:41 | 显示全部楼层 |阅读模式
    分享到:
    经常用ADB卸载或禁用应用程序,于是自己写了一个Powershell脚本简化操作。
    1. [CmdletBinding(PositionalBinding=$False)]
    2. Param(
    3.         [String][ValidateSet("List", "Pull", "Disable", "Enable", "Uninstall")]$Action="",
    4.         [String[]][Parameter(ValueFromRemainingArguments)]$Arguments,
    5.         [String]$Destination = "$Env:SystemDrive\Users\$Env:UserName\Downloads",       
    6.         [String[]]$Packages=@()
    7. )
    8. $ADBExecutable = "$env:SystemDrive\apps\adb\adb.exe"
    9. If("" -eq $Action){
    10.         &$ADBExecutable @Arguments
    11.         Return
    12. }
    13. If(@("Disable", "Enable", "Pull", "Uninstall") -contains $Action){
    14.         If($Packages.Count -eq 0){
    15.                 Write-Output "Specify packages with -Packages"
    16.                 Return
    17.         }
    18. }
    19. Switch($Action){
    20.         "Disable" {
    21.                 $Packages.ForEach({
    22.                         &$ADBExecutable "shell" "pm" "disable-user" $_
    23.                 })
    24.                 Break
    25.         }
    26.         "Enable" {
    27.                 $Packages.ForEach({
    28.                         &$ADBExecutable "shell" "pm" "enable" $_
    29.                 })
    30.                 Break               
    31.         }
    32.         "List" {
    33.                 &$ADBExecutable "shell" "pm" "list" "packages" | ForEach-Object {$_ -replace "package:"}
    34.                 Break
    35.         }
    36.         "Pull" {
    37.                 $Packages.ForEach({
    38.                         $Package = $_
    39.                         &$ADBExecutable "shell" "pm" "path" $Package | ForEach-Object {$_ -replace "package:"} | ForEach-Object {
    40.                                 $SaveAsFilePath = "$Destination\$Package\$(Split-Path -Path $_ -Leaf)"
    41.                                 New-Item -Path $SaveAsFilePath -ItemType File -Force | Out-Null
    42.                                 &$ADBExecutable "pull" $_ $SaveAsFilePath
    43.                         }
    44.                 })
    45.                 Break
    46.         }
    47.         "Uninstall" {
    48.                 $Packages.ForEach({
    49.                         &$ADBExecutable "shell" "pm" "uninstall" "--user" "0" $_
    50.                 })
    51.         }
    52. }
    复制代码




    上一篇:苹果悄悄撤下 iPhone 16“AI Siri”广告,曾承认开发进度不及预期
    下一篇:大家好
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 43 天

    [LV.5]常住居民I

     成长值: 55110
    发表于 2025-3-14 14:32:53 | 显示全部楼层
    好厉害的样子
    您需要登录后才可以回帖 登录 | 加入乐卓

    本版积分规则

    Archiver|小黑屋|手机版|乐卓网 ( 浙ICP备13018594号-4 )|浙公网安备 33010402004363号   运行在阿里云

    GMT+8, 2025-4-4 10:56 , Processed in 0.188461 second(s), 22 queries .

    快速回复 返回顶部 返回列表