@echo off
TITLE 华为手机线刷救砖工具_v2.1_蚊脚迹
mode con: cols=90 lines=30
:CSJM
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       工具，因小白的存在，变得越来越细致！
echo.
echo       小白会觉得贴心；
echo.
echo       老手会觉得繁琐；
echo.
echo       做个选择吧，别让自己误入歧途，否则你会后悔的！！！
echo.
echo.
echo       1、新手
echo.
echo       2、老手
echo.　　
echo.                                                            蚊脚迹20170521
echo.                               
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2) 再按Enter键继续 
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto XS
if "%choice%"=="2" goto LS
echo 选择错误，请重试。
goto CSJM

:LS
call :FASTBOOT
:LS-1
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       ★ 老手通道！（也可能会有狂妄自大的新手硬闯此境）
echo.
echo       → 将提取的 BOOT、RECOVERY、SYSTEM、CUST 四个镜像放入IMG文件夹内
echo.
echo       1、直刷模式（BOOT+RECOVERY+SYSTEM+CUST）
echo.
echo       2、选刷 BOOT.img
echo.
echo       3、选刷 RECOVERY.img
echo.
echo       4、选刷 SYSTEM.img
echo.
echo       5、选刷 CUST.img
echo.
echo       6、尝试再次进入Fastboot模式
echo.
echo       7、重启选项
echo.
echo.
echo.                                                            蚊脚迹20170521
echo.                               
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2、3、4、5、6、7) 再按Enter键继续 
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto FBRSC
if "%choice%"=="2" goto FBOOT
if "%choice%"=="3" goto FREC
if "%choice%"=="4" goto FSYSTEM
if "%choice%"=="5" goto FCUST
if "%choice%"=="6" goto LS
if "%choice%"=="7" goto CQ
echo 选择错误，请重试。
goto LS-1

:FBOOT
CLS
color b0
echo.
echo. ---------------------------------------
echo.
echo    正在刷入boot.img，请等待……
echo.
echo.
echo. ---------------------------------------
echo.
fastboot flash boot IMG\boot.img
goto OKorNo%ERRORLEVEL%

:FREC
CLS
color b0
echo.
echo. ---------------------------------------
echo.
echo    正在刷入recovery.img，请等待……
echo.
echo.
echo. ---------------------------------------
echo.
fastboot flash recovery IMG\recovery.img
goto OKorNo%ERRORLEVEL%

:FSYSTEM
CLS
color b0
echo.
echo. ---------------------------------------
echo.
echo    正在刷入system.img，请等待……
echo.
echo.
echo. ---------------------------------------
echo.
fastboot flash system IMG\system.img
goto OKorNo%ERRORLEVEL%

:FCUST
CLS
color b0
echo.
echo. ---------------------------------------
echo.
echo    正在刷入cust.img，请等待……
echo.
echo.
echo. ---------------------------------------
echo.
fastboot flash cust IMG\cust.img
goto OKorNo%ERRORLEVEL%

:FASTBOOT
for /f "tokens=5" %%i in ('netstat -nao ^|find /i "listening" ^|find /i "5037"') do taskkill /f /pid %%i 
adb reboot bootloader
goto :eof

:XS
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       ★ 新手通道！小白童鞋请留意：
echo.
echo          手机线刷操作可大可小，请谨慎！
echo.
echo          如你忽略提示胡乱操作的话，轻则损坏系统，重则烧毁硬件！
echo.
echo          确认会小心谨慎操作的，按任意键继续，否则请关闭本窗口。
pause >NUL 2>NUL
echo.
echo       → 选择你需要进行线刷的原因：
echo.
echo       1、纯粹刷系统，可正常开关机
echo.
echo       2、系统已崩溃，不能正常开机
echo.
echo.      3、解决某个分区问题（如：boot、Recovery）
echo.
echo.
echo.                                                            蚊脚迹20170521
echo.                               
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2、3) 再按Enter键继续 
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto XTZC
if "%choice%"=="2" goto XTBK
if "%choice%"=="3" goto XSMS
echo 选择错误，请重试。
goto LS

:XTZC
call :TQJX
call :FASTBOOT
call :ADB

:XTBK
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       → 选择目前手机的状态：
echo.
echo       1、黑屏/死机/关机等状态，长按任何按键或组合按键均无反应
echo         (电源键、电源键+音量加、电源键+音量减 - 15秒)
echo.
echo       2、卡在华为logo的界面，或一直不断重启
echo.
echo       3、卡在英文界面（曾解锁过）
echo.
echo       4、一开机就进入Fastboot模式或Recovery模式
echo.
echo.
echo.                               
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2、3、4) 再按Enter键继续 
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto XTBK-1
if "%choice%"=="2" goto XTBK-2
if "%choice%"=="3" goto XTBK-3
if "%choice%"=="4" goto XTBK-4
if "%choice%"=="5" goto XTBK-5
echo 选择错误，请重试。
goto XSMS

:XTBK-1
echo.
echo       1、可能没电，充电器充15分钟后再试。
echo       2、可能电池损坏，或主板损坏，送修。
pause >NUL 2>NUL
goto CSJM

:XTBK-2
echo.
echo       1、可能刷错了某个分区的镜像文件。
echo       2、如果是因为误删系统组件，则需重刷System分区。
echo       3、重进“新手”通道选择“3”，尝试选刷分区解决。
pause >NUL 2>NUL
goto CSJM

:XTBK-3
echo.
echo       1、可能是原刷入的Recovery版本不对应，需重刷Recovery分区。
echo       2、重进“新手”通道选择“3”，重刷正确的Recovery分区解决。
echo       3、如果什么都没动就这样的话，也可尝试逐一选刷分区解决，再不行就送修吧。
pause >NUL 2>NUL
goto CSJM

:XTBK-4
echo.
echo       1、可能是因为音量键故障，导致开机变成组合键开机了。（进水）
echo       2、如非音量键故障，则进eRecovery在线恢复模式尝试恢复。
echo         (数据线连接电脑，长按电源键+音量加直至进入恢复模式，连接wifi……自行百度）
echo       3、也可重进“新手”通道选择“3”，尝试逐一选刷分区解决。再不行就送修吧。
pause >NUL 2>NUL
goto CSJM

:XSMS
call :TQJX
:XSMS-1
call :FASTBOOT
:XSMS-2
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       ★ 选刷模式！
echo.
echo       1、选刷 BOOT.img
echo.
echo       2、选刷 RECOVERY.img
echo.
echo       3、选刷 SYSTEM.img
echo.
echo       4、选刷 CUST.img
echo.
echo       5、尝试再次进入Fastboot模式
echo.
echo       6、重启选项
echo.
echo.
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2、3、4、5、6) 再按Enter键继续 
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto FBOOT
if "%choice%"=="2" goto FREC
if "%choice%"=="3" goto FSYSTEM
if "%choice%"=="4" goto FCUST
if "%choice%"=="5" goto XSMS-1
if "%choice%"=="6" goto CQ
echo 选择错误，请重试。
goto XSMS-2

:TQJX
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       ★ 线刷前，需从官方完整包中提取相应的镜像文件，放入IMG文件夹中
echo.
echo       → 如：BOOT、RECOVERY、SYSTEM、CUST
echo.
echo       1、已提取
echo.
echo       2、未提取
echo.
echo.
echo.
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2) 再按Enter键继续
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto JC
if "%choice%"=="2" goto WTQ
echo 选择错误，请重试。
goto TQJX

:WTQ
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo    ★ 提取线刷必要镜像文件流程:
echo.
echo       1、下载华为解包工具“HuaweiUpdateExtractor”，并安装。
echo          下载链接：http://pan.baidu.com/s/1o8dSFf8
echo.
echo       2、运行HuaweiUpdateExtractor，如无法运行，请安装.NET Framework 3.5。
ping 127.0.0.1 -n 3 >NUL
@echo off
start c:\progra~1\Intern~1\iexplore.exe "http://pan.baidu.com/s/1o8dSFf8"
pause >NUL 2>NUL
echo.
echo       3、解压官方升级包，提取当中的“UPDATE.APP”文件（EMUI5.0以上需分别解压大/小包）
echo.
echo       4、参考截图：在HuaweiUpdateExtractor中打开UPDATE.APP文件。
echo       4.1、按住Ctrl键选择BOOT、CUST、RECOVERY、SYSTEM四个文件。
echo       4.2、EMUI5.0以上的，在大包里提取BOOT、RECOVERY、SYSTEM，再从小包里提取CUST。
echo       4.3、将这四个文件释放到“华为手机线刷工具”里的“IMG”文件夹内。
ping 127.0.0.1 -n 3 >NUL
@echo off
start TQ-01.png
echo.
echo.------------------------------------------------------------------------------------------
echo       镜像文件提取完毕后，按Enter键继续。
pause >NUL 2>NUL
goto :JC

:JC
CLS
color b0
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo    ★ 国际惯例，例行检查：
echo.
echo       1、刷机前确保电量大于30%%。无法确认的先用充电器充30分钟。
echo.
echo       2、将手机通过 USB 线连接到电脑，并确保USB接口连接稳固，严禁中途拔线！
pause >NUL 2>NUL
echo.
echo       3、确保电脑已安装华为设备 USB 驱动，未安装请前往下载。
echo             下载链接：http://pan.baidu.com/s/1o7XM782
ping 127.0.0.1 -n 3 >NUL
@echo off
start c:\progra~1\Intern~1\iexplore.exe "http://pan.baidu.com/s/1o7XM782"
pause >NUL 2>NUL
echo.
echo       4、彻底关闭电脑上所有手机助手类的管理软件。
ping 127.0.0.1 -n 2 >NUL
@echo off
start c:\windows\system32\taskmgr.exe
pause >NUL 2>NUL
echo.
echo       5、关闭“手机找回”，打开USB调试模式并信任当前电脑进行调试。（自行百度）
echo.
echo.
echo    ★ 一切准备就绪，按任意键继续，手机将自动进入Fastboot模式。
echo.
echo.------------------------------------------------------------------------------------------
pause >NUL 2>NUL
goto :eof

:ADB
color b0
CLS
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo       → 部分机型只支持平级线刷、升级线刷，不支持降级线刷或跨EMUI版本刷，请注意!
echo.
echo       ★ 正在刷入boot.img，请等待……
echo.
fastboot flash boot IMG\boot.img
goto OKorNo%ERRORLEVEL%
:OKorNo0
echo       → 已成功刷入！按Enter键继续
echo. ---------------------------------------
pause >NUL 2>NUL
echo.
echo       ★ 正在刷入recovery.img，请等待……
echo.
fastboot flash recovery IMG\recovery.img
goto OKorNo%ERRORLEVEL%
:OKorNo0
echo       → 已成功刷入！按Enter键继续
echo. ---------------------------------------
pause >NUL 2>NUL
echo.
echo       ★ 正在刷入system.img，请等待……
echo.
fastboot flash system IMG\system.img
goto OKorNo%ERRORLEVEL%
:OKorNo0
echo       → 已成功刷入！按Enter键继续
echo. ---------------------------------------
pause >NUL 2>NUL
echo.
echo       ★ 正在刷入cust.img，请等待……
echo.
fastboot flash cust IMG\cust.img
goto OKorNo%ERRORLEVEL%
:OKorNo0
echo       → 已成功刷入！按Enter键继续
echo. ---------------------------------------
pause >NUL 2>NUL
goto CQ

:CQ
color b0
CLS
echo.
echo                            华为手机线刷工具 - v2.1
echo.------------------------------------------------------------------------------------------
echo.
echo.                 1、重启到Recovery模式（会重启两次）
echo.
echo.                 2、重启到系统
echo.
echo.                 3、回到主菜单
echo.
echo.                 4、保持现状，退出本窗口
echo.
echo.
echo       ★ 工具在使用过程中如有任何反馈意见或建议，请加微/Q：1227491684，感谢支持。
echo.
echo.------------------------------------------------------------------------------------------
set choice=
set /p choice= 输入(1、2、3、4) 再按Enter键继续
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
if "%choice%"=="1" goto RECOVERY
if "%choice%"=="2" goto REBOOT
if "%choice%"=="3" goto CSJM
if "%choice%"=="4" goto EXIT
echo 选择错误，请重试。
goto CQ

:RECOVERY
CLS
color b0
echo. ---------------------------------------
@echo. 检查手机连接状态……
@echo.
@taskkill /f /im adb.exe 1>nul 2>nul
@ping 127.0.0.1 /n 3 >nul
@adb devices >nul
@adb get-state|find /c "device" >nul
@if %errorlevel%==0 echo.已经成功连接至手机，请稍候......　&　goto REC1
@fastboot devices|find /c "fastboot" >nul
@if %errorlevel%==0 echo.手机处于Fastboot状态...... & goto REC2
@color bc & echo."手机连接错误！！" & pause & goto CQ
:REC1
@echo.
adb wait-for-device
adb reboot recovery
echo. 手机已经成功进入Recovery模式，本窗口将在10秒后自动关闭。
@echo.
ping 127.0.0.1 -n 10 >NUL
goto EXIT
:REC2
@echo.
fastboot reboot >NUL 2>NUL
echo. 正在重启手机并等待重新连接......
echo.
@ping 127.0.0.1 /n 10 >nul
adb wait-for-device
adb reboot recovery
echo. 手机已经成功进入Recovery模式，本窗口将在10秒后自动关闭。
echo.
ping 127.0.0.1 -n 10 >NUL
goto EXIT

:REBOOT
CLS
color b0
echo. ---------------------------------------
echo. 手机已经重启进系统，本窗口将在10秒后自动关闭。
@echo. 
fastboot reboot
ping 127.0.0.1 -n 10 >NUL
goto EXIT

:FBRSC
CLS
color b0
echo.
echo. ---------------------------------------
echo.
echo    部分机型只支持平级线刷、升级线刷，不支持降级线刷或跨EMUI版本刷，请注意!
echo.
echo    正在执行线刷，请耐心等待...
echo.
echo. ---------------------------------------
echo.
echo    正在刷入boot.img，请等待……
fastboot flash boot IMG\boot.img
echo    正在刷入recovery.img，请等待……
fastboot flash recovery IMG\recovery.img
echo    正在刷入system.img，请等待……
fastboot flash system IMG\system.img
echo    正在刷入cust.img，请等待……
fastboot flash cust IMG\cust.img
goto OKorNo%ERRORLEVEL%

:OKorNo0
echo.
echo. ---------------------------------------
echo    已成功刷入！按Enter键继续
echo. 
pause >NUL 2>NUL
goto CQ

:OKorNo1
echo.
echo ---------------------------------------
echo    刷入失败！按Enter键继续
echo. 
pause >NUL 2>NUL
goto CQ

:EXIT
exit