Dos烧录脚本
时间:2022-05-03
本文章向大家介绍Dos烧录脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Dos命令之前更改的太简单,现在加入判断是否进入fasboot模式和判断Android镜像是否存在;代码已经尽量简化成这样,dos命令功能还是比较不好用的,用了一下午的时间。。。
1 @echo off
2
3
4
5
6
7 @set flashpath=Z:msm8909outtargetproductmsm8909
8 @set Dynamic_library_Path=Z:msm8909outtargetproductmsm8909objlibsensors.msm8909.so
9 @set boot_image=%flashpath%boot.img
10 @set mbn_image=%flashpath%emmc_appsboot.mbn
11 @set system_image=%flashpath%system.img
12 @set persist_image=%flashpath%persist.img
13 @set ramdisk_image=%flashpath%ramdisk.img
14 @set recover_image=%flashpath%recovery.img
15 @set cache_image=%flashpath%cache.img
16 @set Dynamic_library=%Dynamic_library_Path%
17 @set Dynamic_library_Board_Path=/system/lib/
18
19 ::初始化,下面便是判断是否有文件
20 @set Image_Index=0
21 @set Image_Current-path=0
22 @set Image_Length=8
23
24 @set Image[0]-path=%boot_image%
25 @set Image[1]-path=%mbn_image%
26 @set Image[2]-path=%system_image%
27 @set Image[3]-path=%persist_image%
28 @set Image[4]-path=%ramdisk_image%
29 @set Image[5]-path=%recover_image%
30 @set Image[6]-path=%cache_image%
31 @set Image[7]-path=%Dynamic_library%
32 ::初始化
33
34 :LoopStart
35
36 ::清空字符串
37 @set Image_Current-path=0
38
39 if %Image_Index% equ %Image_Length% goto BeginRun
40
41 for /f "usebackq tokens=1,2,3 delims==-" %%a in (`set Image[%Image_Index%]`) do (
42 set Image_Current-%%b=%%c
43 )
44
45 if exist %Image_Current-path% (
46 @echo 该路径%Image_Current-path%存在......
47 @echo.
48 ) else (
49 @echo %Image_Current-path%
50 @echo 请确定该文件文件是否存在?如果不存在,请确定路径,打开脚本重新设置。10秒后关闭....
51 @ping -n 10 127.0.0.1>nul
52 exit
53 )
54
55 @set /a Image_Index=%Image_Index%+1
56
57 goto LoopStart
58
59 :BeginRun
60 @echo 检查Android镜像文件已经完成,请继续下一步......
61 @echo.
62
63 @echo 1、烧录boot.img
64 @echo 2、烧录aboot.img
65 @echo 3、烧录persist.img
66 @echo 4、烧录ramdisk.img
67 @echo 5、烧录recovery.img
68 @echo 6、烧录system.img
69 @echo 7、烧录cache.img
70 @echo 8、烧录所有镜像
71 @echo 9、重新推进sensor.so
72
73 @set /p option=请先设置路径后,再输入要烧录的选项:
74
75
76 if "%option%" == "9" (
77 adb root
78 adb wait-for-device
79 adb remount
80 @echo 重新推进sensor........
81 adb push %Dynamic_library% %Dynamic_library_Board_Path%
82 adb reboot
83 @echo 正在重启...... 5秒后关闭....
84 @ping -n 5 127.0.0.1>nul
85
86 exit
87 )
88
89
90 ::判断是否进入fastboot模式
91 fastboot devices>1.txt
92 set /p message=<1.txt
93 del 1.txt
94 if not defined message (
95 echo 正处于adb mode模式.....
96 adb wait-for-device
97 adb reboot-bootloader
98 ) else (
99 echo 正处于fastboot mode模式.....
100 )
101
102
103 @echo.
104
105 if "%option%" == "1" (
106 @echo 烧录boot.img........
107 fastboot flash boot %boot_image%
108 )
109
110 if "%option%" == "2" (
111 @echo 烧录aboot.img........
112 fastboot flash aboot %mbn_image%
113 )
114
115 if "%option%" == "3" (
116 @echo 烧录persist.img..........
117 fastboot flash persist %persist_image%
118 )
119
120 if "%option%" == "4" (
121 @echo 烧录ramdisk.img..........
122 fastboot flash ramdisk %ramdisk_image%
123 )
124
125 if "%option%" == "5" (
126 @echo 烧录recovery.img...........
127 fastboot flash recovery %recover_image%
128 )
129
130 if "%option%" == "6" (
131 @echo 烧录system.img........
132 fastboot flash system %system_image%
133 )
134
135 if "%option%" == "7" (
136 @echo 烧录cache.img...........
137 fastboot flash cache %cache_image%
138 )
139
140 if "%option%" == "8" (
141 @echo 烧录所有镜像.............
142 fastboot flash boot %boot_image%
143 fastboot flash aboot %mbn_image%
144 fastboot flash persist %persist_image%
145 fastboot flash ramdisk %ramdisk_image%
146 fastboot flash recovery %recover_image%
147 fastboot flash system %system_image%
148 fastboot flash cache %cache_image%
149 )
150
151
152 fastboot reboot
153 @echo 正在重启 请稍后......
154 adb wait-for-device
155 adb root
156 adb wait-for-device
157
158
159 @ping -n 5 127.0.0.1>nul
160 adb shell dmesg > kmesg.log
161 @echo kernel log已经导出.....
162
163
164
165 @echo [烧录成功,暂停5秒自动关闭]
166 @ping -n 5 127.0.0.1>nul
其中用到的相应内容有dos命令for循环的使用:
参考博客:http://blog.csdn.net/wh_19910525/article/details/7912440
Bat数组使用的情况:http://www.jb51.net/article/67630.htm
我自己整理的For f中的tokens和delims怎么用?直接拉上百度知道,整理得到的。就不管链接了,贴上我的有道云笔记链接就行了:http://note.youdao.com/noteshare?id=728873fd0d9b1ea50a73aed3d476135e&sub=FD0225FD68AC400C8C909FE85C293202
bat脚本回车命令是echo.
批处理语句判断变量是否为空的方法:http://www.bathome.net/thread-4046-1-8.html
综上所述:脚本好恶心!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法