返回项目列表
PERSONAL PROJECT
安卓设备批量重置
该脚本是一款基于 ADB(Android Debug Bridge)工具的 Windows 批处理程序,主要功能是对多台同时连接到电脑的安卓设备执行批量恢复出厂设置操作。适用于需要批量管理安卓设备的场景。
批量操作:同时识别并处理多台连接的安卓设备,无需逐台手动操作。自动化流程:从设备检测到发送重置命令全程自动化,减少人工干预。安全机制:包含多重确认步骤,避免误操作导致数据丢失。兼容性:适用于绝大多数支持 ADB 调试的安卓设备(Android 4.0 及以上版本)。
文本处理:利用 findstr、for 循环等批处理命令解析 ADB 返回的设备列表。
- 时间
- 2025-08
- 技术栈
- ADB · Windows 批处理
使用说明
- 安装 ADB 工具后配置环境变量
- 手机中开启「开发者选项」
- 将脚本代码保存为 batch_reset.bat(建议使用记事本保存,编码选择 ANSI),保存到任意目录(例如:D:\scripts)
- 双击 batch_reset.bat 或在命令提示符中执行
- 设备重启后会进入初始化设置界面,说明重置成功
- 若设备停留在恢复模式,可能需要手动选择「清除数据 / 恢复出厂设置」
- 重置完成后,设备需重新进行系统配置(连接 WiFi、登录账号等)
@echo off
:: 解决中文乱码问题
chcp 65001 >nul
setlocal enabledelayedexpansion
:: 检查ADB是否可用
adb version >nul 2>&1
if %errorlevel% neq 0 (
echo 错误:未找到ADB工具,请确保已安装并配置到环境变量
echo 下载地址:https://developer.android.com/studio/releases/platform-tools
pause
exit /b 1
)
:: 获取已连接设备列表
echo 正在检测已连接的安卓设备...
adb devices > devices.tmp
findstr /v "List of devices attached" devices.tmp > devices_filtered.tmp
set /a device_count=0
:: 统计设备数量并存储设备ID
for /f "tokens=1" %%i in (devices_filtered.tmp) do (
set /a device_count+=1
set "device_!device_count!=%%i"
)
del devices.tmp devices_filtered.tmp
:: 检查是否有设备连接
if %device_count% equ 0 (
echo 未检测到任何连接的安卓设备
echo 请确保设备已开启USB调试并授权本电脑
pause
exit /b 1
)
:: 显示检测到的设备
echo.
echo 共检测到 %device_count% 台设备:
for /l %%i in (1,1,%device_count%) do (
echo 设备 %%i:!device_%%i!
)
:: 确认操作
echo.
echo ==============================
echo 警告:此操作将恢复所有设备至出厂设置
echo 所有数据将被永久删除!
echo ==============================
set /p "confirm=请确认是否继续 (y/N):"
if /i not "!confirm!"=="y" (
echo 操作已取消
pause
exit /b 0
)
:: 执行批量重置
echo.
echo 开始执行重置操作...
for /l %%i in (1,1,%device_count%) do (
set "current_device=!device_%%i!"
echo.
echo 正在重置设备 !current_device! ...
adb -s !current_device! reboot recovery
timeout /t 10 /nobreak >nul
:: 发送恢复出厂设置命令(部分设备可能需要手动确认)
adb -s !current_device! shell "echo '--wipe_data' > /cache/recovery/command"
adb -s !current_device! shell "echo '--wipe_cache' >> /cache/recovery/command"
adb -s !current_device! reboot
echo 设备 !current_device! 重置命令已发送,正在重启...
)
echo.
echo 所有设备重置操作已发起
echo 注意:部分设备可能需要在恢复模式下手动确认重置
echo 操作完成,请等待设备重启
pause