|
shuiyin313
初级用户
积分 177
发帖 85
注册 2007-12-1
状态 离线
|
『楼 主』:
谁能整理关于带反还值的常用的批处理程序?
有很多指令带有自己的反还值,不知道哪些我们会经常用到?
高手能否指点一下?
新手请教中。。。。。。。
|
|
2008-1-23 14:16 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2008-1-23 14:59 |
|
|
BatMan
初级用户
蝙蝠侠是写批处理的人
积分 54
发帖 24
注册 2008-1-4
状态 离线
|
『第
3 楼』:
系统命令(内部/外部)的话一般就返回0是正常,其他值一般都表示不正常。
而FIND/FINDSTR之类的话,返回0表示找到匹配串,而返回其他值则表示不正常或一个匹配串都没找着。
大致规律是这样,因为一般只需区分“正常”与“不正常”,所以我都是到用之前写个小程序试探一下情况而已。
|
|
2008-1-23 18:39 |
|
|
VAF
中级用户
积分 242
发帖 134
注册 2006-12-11
状态 离线
|
『第
4 楼』:
:这是我N年前编的, 可以用来玩玩
:此批处理可能不能运行于 XP , 因该批处理中使用了 choice
:将本帖复制粘贴为批处理即可.
@echo off
if "%1"=="" goto 提示1
if "%1"=="?" goto 残余段
if "%1"=="/?" goto 残余段
if "%1"=="255" goto 置255
if "%1"=="/255" goto 置255
if "%1"=="0" goto 置0
if "%1"=="/0" goto 置0
if "%1"=="c" goto 指测段
if "%1"=="C" goto 指测段
if "%1"=="/c" goto 指测段
if "%1"=="/C" goto 指测段
if "%1"=="h" goto 提示2
if "%1"=="H" goto 提示2
if "%1"=="/h" goto 提示2
if "%1"=="/H" goto 提示2
if "%1"=="l" goto 列表
if "%1"=="L" goto 列表
if "%1"=="/l" goto 列表
if "%1"=="/L" goto 列表
if "%1"=="mm" goto 复测段
if "%1"=="/mm" goto 复测段
if "%1"=="MM" goto 复测段
if "%1"=="/MM" goto 复测段
goto 单测段
:复测段
mem/m RD16 | find "RD16 is using"
echo.
echo “复合命令”错误级测试结果如下:
echo.
if errorlevel 255 echo ERRORLEVEL = 255
if errorlevel 254 echo ERRORLEVEL = 254
if errorlevel 253 echo ERRORLEVEL = 253
if errorlevel 252 echo ERRORLEVEL = 252
if errorlevel 251 echo ERRORLEVEL = 251
if errorlevel 250 echo ERRORLEVEL = 250
if errorlevel 249 echo ERRORLEVEL = 249
if errorlevel 248 echo ERRORLEVEL = 248
if errorlevel 247 echo ERRORLEVEL = 247
if errorlevel 246 echo ERRORLEVEL = 246
if errorlevel 245 echo ERRORLEVEL = 245
if errorlevel 244 echo ERRORLEVEL = 244
if errorlevel 243 echo ERRORLEVEL = 243
if errorlevel 242 echo ERRORLEVEL = 242
if errorlevel 241 echo ERRORLEVEL = 241
if errorlevel 240 echo ERRORLEVEL = 240
if errorlevel 239 echo ERRORLEVEL = 239
if errorlevel 238 echo ERRORLEVEL = 238
if errorlevel 237 echo ERRORLEVEL = 237
if errorlevel 236 echo ERRORLEVEL = 236
if errorlevel 235 echo ERRORLEVEL = 235
if errorlevel 234 echo ERRORLEVEL = 234
if errorlevel 233 echo ERRORLEVEL = 233
if errorlevel 232 echo ERRORLEVEL = 232
if errorlevel 231 echo ERRORLEVEL = 231
if errorlevel 230 echo ERRORLEVEL = 230
if errorlevel 229 echo ERRORLEVEL = 229
if errorlevel 228 echo ERRORLEVEL = 228
if errorlevel 227 echo ERRORLEVEL = 227
if errorlevel 226 echo ERRORLEVEL = 226
if errorlevel 225 echo ERRORLEVEL = 225
if errorlevel 224 echo ERRORLEVEL = 224
if errorlevel 223 echo ERRORLEVEL = 223
if errorlevel 222 echo ERRORLEVEL = 222
if errorlevel 221 echo ERRORLEVEL = 221
if errorlevel 220 echo ERRORLEVEL = 220
if errorlevel 219 echo ERRORLEVEL = 219
if errorlevel 218 echo ERRORLEVEL = 218
if errorlevel 217 echo ERRORLEVEL = 217
if errorlevel 216 echo ERRORLEVEL = 216
if errorlevel 215 echo ERRORLEVEL = 215
if errorlevel 214 echo ERRORLEVEL = 214
if errorlevel 213 echo ERRORLEVEL = 213
if errorlevel 212 echo ERRORLEVEL = 212
if errorlevel 211 echo ERRORLEVEL = 211
if errorlevel 210 echo ERRORLEVEL = 210
if errorlevel 209 echo ERRORLEVEL = 209
if errorlevel 208 echo ERRORLEVEL = 208
if errorlevel 207 echo ERRORLEVEL = 207
if errorlevel 206 echo ERRORLEVEL = 206
if errorlevel 205 echo ERRORLEVEL = 205
if errorlevel 204 echo ERRORLEVEL = 204
if errorlevel 203 echo ERRORLEVEL = 203
if errorlevel 202 echo ERRORLEVEL = 202
if errorlevel 201 echo ERRORLEVEL = 201
if errorlevel 200 echo ERRORLEVEL = 200
if errorlevel 199 echo ERRORLEVEL = 199
if errorlevel 198 echo ERRORLEVEL = 198
if errorlevel 197 echo ERRORLEVEL = 197
if errorlevel 196 echo ERRORLEVEL = 196
if errorlevel 195 echo ERRORLEVEL = 195
if errorlevel 194 echo ERRORLEVEL = 194
if errorlevel 193 echo ERRORLEVEL = 193
if errorlevel 192 echo ERRORLEVEL = 192
if errorlevel 191 echo ERRORLEVEL = 191
if errorlevel 190 echo ERRORLEVEL = 190
if errorlevel 189 echo ERRORLEVEL = 189
if errorlevel 188 echo ERRORLEVEL = 188
if errorlevel 187 echo ERRORLEVEL = 187
if errorlevel 186 echo ERRORLEVEL = 186
if errorlevel 185 echo ERRORLEVEL = 185
if errorlevel 184 echo ERRORLEVEL = 184
if errorlevel 183 echo ERRORLEVEL = 183
if errorlevel 182 echo ERRORLEVEL = 182
if errorlevel 181 echo ERRORLEVEL = 181
if errorlevel 180 echo ERRORLEVEL = 180
if errorlevel 179 echo ERRORLEVEL = 179
if errorlevel 178 echo ERRORLEVEL = 178
if errorlevel 177 echo ERRORLEVEL = 177
if errorlevel 176 echo ERRORLEVEL = 176
if errorlevel 175 echo ERRORLEVEL = 175
if errorlevel 174 echo ERRORLEVEL = 174
if errorlevel 173 echo ERRORLEVEL = 173
if errorlevel 172 echo ERRORLEVEL = 172
if errorlevel 171 echo ERRORLEVEL = 171
if errorlevel 170 echo ERRORLEVEL = 170
if errorlevel 169 echo ERRORLEVEL = 169
if errorlevel 168 echo ERRORLEVEL = 168
if errorlevel 167 echo ERRORLEVEL = 167
if errorlevel 166 echo ERRORLEVEL = 166
if errorlevel 165 echo ERRORLEVEL = 165
if errorlevel 164 echo ERRORLEVEL = 164
if errorlevel 163 echo ERRORLEVEL = 163
if errorlevel 162 echo ERRORLEVEL = 162
if errorlevel 161 echo ERRORLEVEL = 161
if errorlevel 160 echo ERRORLEVEL = 160
if errorlevel 159 echo ERRORLEVEL = 159
if errorlevel 158 echo ERRORLEVEL = 158
if errorlevel 157 echo ERRORLEVEL = 157
if errorlevel 156 echo ERRORLEVEL = 156
if errorlevel 155 echo ERRORLEVEL = 155
if errorlevel 154 echo ERRORLEVEL = 154
if errorlevel 153 echo ERRORLEVEL = 153
if errorlevel 152 echo ERRORLEVEL = 152
if errorlevel 151 echo ERRORLEVEL = 151
if errorlevel 150 echo ERRORLEVEL = 150
if errorlevel 149 echo ERRORLEVEL = 149
if errorlevel 148 echo ERRORLEVEL = 148
if errorlevel 147 echo ERRORLEVEL = 147
if errorlevel 146 echo ERRORLEVEL = 146
if errorlevel 145 echo ERRORLEVEL = 145
if errorlevel 144 echo ERRORLEVEL = 144
if errorlevel 143 echo ERRORLEVEL = 143
if errorlevel 142 echo ERRORLEVEL = 142
if errorlevel 141 echo ERRORLEVEL = 141
if errorlevel 140 echo ERRORLEVEL = 140
if errorlevel 139 echo ERRORLEVEL = 139
if errorlevel 138 echo ERRORLEVEL = 138
if errorlevel 137 echo ERRORLEVEL = 137
if errorlevel 136 echo ERRORLEVEL = 136
if errorlevel 135 echo ERRORLEVEL = 135
if errorlevel 134 echo ERRORLEVEL = 134
if errorlevel 133 echo ERRORLEVEL = 133
if errorlevel 132 echo ERRORLEVEL = 132
if errorlevel 131 echo ERRORLEVEL = 131
if errorlevel 130 echo ERRORLEVEL = 130
if errorlevel 129 echo ERRORLEVEL = 129
if errorlevel 128 echo ERRORLEVEL = 128
if errorlevel 127 echo ERRORLEVEL = 127
if errorlevel 126 echo ERRORLEVEL = 126
if errorlevel 125 echo ERRORLEVEL = 125
if errorlevel 124 echo ERRORLEVEL = 124
if errorlevel 123 echo ERRORLEVEL = 123
if errorlevel 122 echo ERRORLEVEL = 122
if errorlevel 121 echo ERRORLEVEL = 121
if errorlevel 120 echo ERRORLEVEL = 120
if errorlevel 119 echo ERRORLEVEL = 119
if errorlevel 118 echo ERRORLEVEL = 118
if errorlevel 117 echo ERRORLEVEL = 117
if errorlevel 116 echo ERRORLEVEL = 116
if errorlevel 115 echo ERRORLEVEL = 115
if errorlevel 114 echo ERRORLEVEL = 114
if errorlevel 113 echo ERRORLEVEL = 113
if errorlevel 112 echo ERRORLEVEL = 112
if errorlevel 111 echo ERRORLEVEL = 111
if errorlevel 110 echo ERRORLEVEL = 110
if errorlevel 109 echo ERRORLEVEL = 109
if errorlevel 108 echo ERRORLEVEL = 108
if errorlevel 107 echo ERRORLEVEL = 107
if errorlevel 106 echo ERRORLEVEL = 106
if errorlevel 105 echo ERRORLEVEL = 105
if errorlevel 104 echo ERRORLEVEL = 104
if errorlevel 103 echo ERRORLEVEL = 103
if errorlevel 102 echo ERRORLEVEL = 102
if errorlevel 101 echo ERRORLEVEL = 101
if errorlevel 100 echo ERRORLEVEL = 100
if errorlevel 99 echo ERRORLEVEL = 99
if errorlevel 98 echo ERRORLEVEL = 98
if errorlevel 97 echo ERRORLEVEL = 97
if errorlevel 96 echo ERRORLEVEL = 96
if errorlevel 95 echo ERRORLEVEL = 95
if errorlevel 94 echo ERRORLEVEL = 94
if errorlevel 93 echo ERRORLEVEL = 93
if errorlevel 92 echo ERRORLEVEL = 92
if errorlevel 91 echo ERRORLEVEL = 91
if errorlevel 90 echo ERRORLEVEL = 90
if errorlevel 89 echo ERRORLEVEL = 89
if errorlevel 88 echo ERRORLEVEL = 88
if errorlevel 87 echo ERRORLEVEL = 87
if errorlevel 86 echo ERRORLEVEL = 86
if errorlevel 85 echo ERRORLEVEL = 85
if errorlevel 84 echo ERRORLEVEL = 84
if errorlevel 83 echo ERRORLEVEL = 83
if errorlevel 82 echo ERRORLEVEL = 82
if errorlevel 81 echo ERRORLEVEL = 81
if errorlevel 80 echo ERRORLEVEL = 80
if errorlevel 79 echo ERRORLEVEL = 79
if errorlevel 78 echo ERRORLEVEL = 78
if errorlevel 77 echo ERRORLEVEL = 77
if errorlevel 76 echo ERRORLEVEL = 76
if errorlevel 75 echo ERRORLEVEL = 75
if errorlevel 74 echo ERRORLEVEL = 74
if errorlevel 73 echo ERRORLEVEL = 73
if errorlevel 72 echo ERRORLEVEL = 72
if errorlevel 71 echo ERRORLEVEL = 71
if errorlevel 70 echo ERRORLEVEL = 70
if errorlevel 69 echo ERRORLEVEL = 69
if errorlevel 68 echo ERRORLEVEL = 68
if errorlevel 67 echo ERRORLEVEL = 67
if errorlevel 66 echo ERRORLEVEL = 66
if errorlevel 65 echo ERRORLEVEL = 65
if errorlevel 64 echo ERRORLEVEL = 64
if errorlevel 63 echo ERRORLEVEL = 63
if errorlevel 62 echo ERRORLEVEL = 62
if errorlevel 61 echo ERRORLEVEL = 61
if errorlevel 60 echo ERRORLEVEL = 60
if errorlevel 59 echo ERRORLEVEL = 59
if errorlevel 58 echo ERRORLEVEL = 58
if errorlevel 57 echo ERRORLEVEL = 57
if errorlevel 56 echo ERRORLEVEL = 56
if errorlevel 55 echo ERRORLEVEL = 55
if errorlevel 54 echo ERRORLEVEL = 54
if errorlevel 53 echo ERRORLEVEL = 53
if errorlevel 52 echo ERRORLEVEL = 52
if errorlevel 51 echo ERRORLEVEL = 51
if errorlevel 50 echo ERRORLEVEL = 50
if errorlevel 49 echo ERRORLEVEL = 49
if errorlevel 48 echo ERRORLEVEL = 48
if errorlevel 47 echo ERRORLEVEL = 47
if errorlevel 46 echo ERRORLEVEL = 46
if errorlevel 45 echo ERRORLEVEL = 45
if errorlevel 44 echo ERRORLEVEL = 44
if errorlevel 43 echo ERRORLEVEL = 43
if errorlevel 42 echo ERRORLEVEL = 42
if errorlevel 41 echo ERRORLEVEL = 41
if errorlevel 40 echo ERRORLEVEL = 40
if errorlevel 39 echo ERRORLEVEL = 39
if errorlevel 38 echo ERRORLEVEL = 38
if errorlevel 37 echo ERRORLEVEL = 37
if errorlevel 36 echo ERRORLEVEL = 36
if errorlevel 35 echo ERRORLEVEL = 35
if errorlevel 34 echo ERRORLEVEL = 34
if errorlevel 33 echo ERRORLEVEL = 33
if errorlevel 32 echo ERRORLEVEL = 32
if errorlevel 31 echo ERRORLEVEL = 31
if errorlevel 30 echo ERRORLEVEL = 30
if errorlevel 29 echo ERRORLEVEL = 29
if errorlevel 28 echo ERRORLEVEL = 28
if errorlevel 27 echo ERRORLEVEL = 27
if errorlevel 26 echo ERRORLEVEL = 26
if errorlevel 25 echo ERRORLEVEL = 25
if errorlevel 24 echo ERRORLEVEL = 24
if errorlevel 23 echo ERRORLEVEL = 23
if errorlevel 22 echo ERRORLEVEL = 22
if errorlevel 21 echo ERRORLEVEL = 21
if errorlevel 20 echo ERRORLEVEL = 20
if errorlevel 19 echo ERRORLEVEL = 19
if errorlevel 18 echo ERRORLEVEL = 18
if errorlevel 17 echo ERRORLEVEL = 17
if errorlevel 16 echo ERRORLEVEL = 16
if errorlevel 15 echo ERRORLEVEL = 15
if errorlevel 14 echo ERRORLEVEL = 14
if errorlevel 13 echo ERRORLEVEL = 13
if errorlevel 12 echo ERRORLEVEL = 12
if errorlevel 11 echo ERRORLEVEL = 11
if errorlevel 10 echo ERRORLEVEL = 10
if errorlevel 9 echo ERRORLEVEL = 9
if errorlevel 8 echo ERRORLEVEL = 8
if errorlevel 7 echo ERRORLEVEL = 7
if errorlevel 6 echo ERRORLEVEL = 6
if errorlevel 5 echo ERRORLEVEL = 5
if errorlevel 4 echo ERRORLEVEL = 4
if errorlevel 3 echo ERRORLEVEL = 3
if errorlevel 2 echo ERRORLEVEL = 2
if errorlevel 1 echo ERRORLEVEL = 1
if errorlevel 0 echo ERRORLEVEL = 0
echo.
echo.
goto end
:残余段
echo.
echo 当前错误级 (上一个有错误级返回码程序遗留的错误级) 显示如下:
echo.
goto 开测
:单测段
%1 %2 %3 %4 %5 %6 %7 %8 %9
echo.
echo %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 的错误级测试结果如下:
echo.
goto 开测
:指测段
cls
echo.
echo 用 CHOICE.COM 生成指定的错误级 ERRORLEVEL x
echo.
echo 指定生成的错误级 ERRORLEVEL x 的代码列表
echo.
echo ┌─ 如选择此项:答 Y 将中断,答 N 可测,建议答 N
echo ↓
echo Ctrl+C Y/[N] = 0 A = ERRORLEVEL 10 K = ERRORLEVEL 20 U = ERRORLEVEL 30
echo 1 = ERRORLEVEL 1 B = ERRORLEVEL 11 L = ERRORLEVEL 21 V = ERRORLEVEL 31
echo 2 = ERRORLEVEL 2 C = ERRORLEVEL 12 M = ERRORLEVEL 22 W = ERRORLEVEL 32
echo 3 = ERRORLEVEL 3 D = ERRORLEVEL 13 N = ERRORLEVEL 23 X = ERRORLEVEL 33
echo 4 = ERRORLEVEL 4 E = ERRORLEVEL 14 O = ERRORLEVEL 24 Y = ERRORLEVEL 34
echo 5 = ERRORLEVEL 5 F = ERRORLEVEL 15 P = ERRORLEVEL 25 Z = ERRORLEVEL 35
echo 6 = ERRORLEVEL 6 G = ERRORLEVEL 16 Q = ERRORLEVEL 26
echo 7 = ERRORLEVEL 7 H = ERRORLEVEL 17 R = ERRORLEVEL 27
echo 8 = ERRORLEVEL 8 I = ERRORLEVEL 18 S = ERRORLEVEL 28
echo 9 = ERRORLEVEL 9 J = ERRORLEVEL 19 T = ERRORLEVEL 29
echo.
echo 这只是用 CHOICE 生成指定错误级的一个例子;指定再多代码也无更大的实际意义。
echo 微软已考虑到可见字符的数量或其它因素,经实验其入选代码数量的最大值为 117 。
echo.
echo 请键入下面的代码之一指定想要生成的错误级代码:
CHOICE /C:123456789abcdefghijklmnopqrstuvwxyz
goto 开测
:开测
if errorlevel 255 echo ERRORLEVEL = 255
if errorlevel 254 echo ERRORLEVEL = 254
if errorlevel 253 echo ERRORLEVEL = 253
if errorlevel 252 echo ERRORLEVEL = 252
if errorlevel 251 echo ERRORLEVEL = 251
if errorlevel 250 echo ERRORLEVEL = 250
if errorlevel 249 echo ERRORLEVEL = 249
if errorlevel 248 echo ERRORLEVEL = 248
if errorlevel 247 echo ERRORLEVEL = 247
if errorlevel 246 echo ERRORLEVEL = 246
if errorlevel 245 echo ERRORLEVEL = 245
if errorlevel 244 echo ERRORLEVEL = 244
if errorlevel 243 echo ERRORLEVEL = 243
if errorlevel 242 echo ERRORLEVEL = 242
if errorlevel 241 echo ERRORLEVEL = 241
if errorlevel 240 echo ERRORLEVEL = 240
if errorlevel 239 echo ERRORLEVEL = 239
if errorlevel 238 echo ERRORLEVEL = 238
if errorlevel 237 echo ERRORLEVEL = 237
if errorlevel 236 echo ERRORLEVEL = 236
if errorlevel 236 pause
if errorlevel 235 echo ERRORLEVEL = 235
if errorlevel 234 echo ERRORLEVEL = 234
if errorlevel 233 echo ERRORLEVEL = 233
if errorlevel 232 echo ERRORLEVEL = 232
if errorlevel 231 echo ERRORLEVEL = 231
if errorlevel 230 echo ERRORLEVEL = 230
if errorlevel 229 echo ERRORLEVEL = 229
if errorlevel 228 echo ERRORLEVEL = 228
if errorlevel 227 echo ERRORLEVEL = 227
if errorlevel 226 echo ERRORLEVEL = 226
if errorlevel 225 echo ERRORLEVEL = 225
if errorlevel 224 echo ERRORLEVEL = 224
if errorlevel 223 echo ERRORLEVEL = 223
if errorlevel 222 echo ERRORLEVEL = 222
if errorlevel 221 echo ERRORLEVEL = 221
if errorlevel 220 echo ERRORLEVEL = 220
if errorlevel 219 echo ERRORLEVEL = 219
if errorlevel 218 echo ERRORLEVEL = 218
if errorlevel 217 echo ERRORLEVEL = 217
if errorlevel 216 echo ERRORLEVEL = 216
if errorlevel 216 pause
if errorlevel 215 echo ERRORLEVEL = 215
if errorlevel 214 echo ERRORLEVEL = 214
if errorlevel 213 echo ERRORLEVEL = 213
if errorlevel 212 echo ERRORLEVEL = 212
if errorlevel 211 echo ERRORLEVEL = 211
if errorlevel 210 echo ERRORLEVEL = 210
if errorlevel 209 echo ERRORLEVEL = 209
if errorlevel 208 echo ERRORLEVEL = 208
if errorlevel 207 echo ERRORLEVEL = 207
if errorlevel 206 echo ERRORLEVEL = 206
if errorlevel 205 echo ERRORLEVEL = 205
if errorlevel 204 echo ERRORLEVEL = 204
if errorlevel 203 echo ERRORLEVEL = 203
if errorlevel 202 echo ERRORLEVEL = 202
if errorlevel 201 echo ERRORLEVEL = 201
if errorlevel 200 echo ERRORLEVEL = 200
if errorlevel 199 echo ERRORLEVEL = 199
if errorlevel 198 echo ERRORLEVEL = 198
if errorlevel 197 echo ERRORLEVEL = 197
if errorlevel 196 echo ERRORLEVEL = 196
if errorlevel 196 pause
if errorlevel 195 echo ERRORLEVEL = 195
if errorlevel 194 echo ERRORLEVEL = 194
if errorlevel 193 echo ERRORLEVEL = 193
if errorlevel 192 echo ERRORLEVEL = 192
if errorlevel 191 echo ERRORLEVEL = 191
if errorlevel 190 echo ERRORLEVEL = 190
if errorlevel 189 echo ERRORLEVEL = 189
if errorlevel 188 echo ERRORLEVEL = 188
if errorlevel 187 echo ERRORLEVEL = 187
if errorlevel 186 echo ERRORLEVEL = 186
if errorlevel 185 echo ERRORLEVEL = 185
if errorlevel 184 echo ERRORLEVEL = 184
if errorlevel 183 echo ERRORLEVEL = 183
if errorlevel 182 echo ERRORLEVEL = 182
if errorlevel 181 echo ERRORLEVEL = 181
if errorlevel 180 echo ERRORLEVEL = 180
if errorlevel 179 echo ERRORLEVEL = 179
if errorlevel 178 echo ERRORLEVEL = 178
if errorlevel 177 echo ERRORLEVEL = 177
if errorlevel 176 echo ERRORLEVEL = 176
if errorlevel 176 pause
if errorlevel 175 echo ERRORLEVEL = 175
if errorlevel 174 echo ERRORLEVEL = 174
if errorlevel 173 echo ERRORLEVEL = 173
if errorlevel 172 echo ERRORLEVEL = 172
if errorlevel 171 echo ERRORLEVEL = 171
if errorlevel 170 echo ERRORLEVEL = 170
if errorlevel 169 echo ERRORLEVEL = 169
if errorlevel 168 echo ERRORLEVEL = 168
if errorlevel 167 echo ERRORLEVEL = 167
if errorlevel 166 echo ERRORLEVEL = 166
if errorlevel 165 echo ERRORLEVEL = 165
if errorlevel 164 echo ERRORLEVEL = 164
if errorlevel 163 echo ERRORLEVEL = 163
if errorlevel 162 echo ERRORLEVEL = 162
if errorlevel 161 echo ERRORLEVEL = 161
if errorlevel 160 echo ERRORLEVEL = 160
if errorlevel 159 echo ERRORLEVEL = 159
if errorlevel 158 echo ERRORLEVEL = 158
if errorlevel 157 echo ERRORLEVEL = 157
if errorlevel 156 echo ERRORLEVEL = 156
if errorlevel 156 pause
if errorlevel 155 echo ERRORLEVEL = 155
if errorlevel 154 echo ERRORLEVEL = 154
if errorlevel 153 echo ERRORLEVEL = 153
if errorlevel 152 echo ERRORLEVEL = 152
if errorlevel 151 echo ERRORLEVEL = 151
if errorlevel 150 echo ERRORLEVEL = 150
if errorlevel 149 echo ERRORLEVEL = 149
if errorlevel 148 echo ERRORLEVEL = 148
if errorlevel 147 echo ERRORLEVEL = 147
if errorlevel 146 echo ERRORLEVEL = 146
if errorlevel 145 echo ERRORLEVEL = 145
if errorlevel 144 echo ERRORLEVEL = 144
if errorlevel 143 echo ERRORLEVEL = 143
if errorlevel 142 echo ERRORLEVEL = 142
if errorlevel 141 echo ERRORLEVEL = 141
if errorlevel 140 echo ERRORLEVEL = 140
if errorlevel 139 echo ERRORLEVEL = 139
if errorlevel 138 echo ERRORLEVEL = 138
if errorlevel 137 echo ERRORLEVEL = 137
if errorlevel 136 echo ERRORLEVEL = 136
if errorlevel 136 pause
if errorlevel 135 echo ERRORLEVEL = 135
if errorlevel 134 echo ERRORLEVEL = 134
if errorlevel 133 echo ERRORLEVEL = 133
if errorlevel 132 echo ERRORLEVEL = 132
if errorlevel 131 echo ERRORLEVEL = 131
if errorlevel 130 echo ERRORLEVEL = 130
if errorlevel 129 echo ERRORLEVEL = 129
if errorlevel 128 echo ERRORLEVEL = 128
if errorlevel 127 echo ERRORLEVEL = 127
if errorlevel 126 echo ERRORLEVEL = 126
if errorlevel 125 echo ERRORLEVEL = 125
if errorlevel 124 echo ERRORLEVEL = 124
if errorlevel 123 echo ERRORLEVEL = 123
if errorlevel 122 echo ERRORLEVEL = 122
if errorlevel 121 echo ERRORLEVEL = 121
if errorlevel 120 echo ERRORLEVEL = 120
if errorlevel 119 echo ERRORLEVEL = 119
if errorlevel 118 echo ERRORLEVEL = 118
if errorlevel 117 echo ERRORLEVEL = 117
if errorlevel 116 echo ERRORLEVEL = 116
if errorlevel 116 pause
if errorlevel 115 echo ERRORLEVEL = 115
if errorlevel 114 echo ERRORLEVEL = 114
if errorlevel 113 echo ERRORLEVEL = 113
if errorlevel 112 echo ERRORLEVEL = 112
if errorlevel 111 echo ERRORLEVEL = 111
if errorlevel 110 echo ERRORLEVEL = 110
if errorlevel 109 echo ERRORLEVEL = 109
if errorlevel 108 echo ERRORLEVEL = 108
if errorlevel 107 echo ERRORLEVEL = 107
if errorlevel 106 echo ERRORLEVEL = 106
if errorlevel 105 echo ERRORLEVEL = 105
if errorlevel 104 echo ERRORLEVEL = 104
if errorlevel 103 echo ERRORLEVEL = 103
if errorlevel 102 echo ERRORLEVEL = 102
if errorlevel 101 echo ERRORLEVEL = 101
if errorlevel 100 echo ERRORLEVEL = 100
if errorlevel 99 echo ERRORLEVEL = 99
if errorlevel 98 echo ERRORLEVEL = 98
if errorlevel 97 echo ERRORLEVEL = 97
if errorlevel 96 echo ERRORLEVEL = 96
if errorlevel 96 pause
if errorlevel 95 echo ERRORLEVEL = 95
if errorlevel 94 echo ERRORLEVEL = 94
if errorlevel 93 echo ERRORLEVEL = 93
if errorlevel 92 echo ERRORLEVEL = 92
if errorlevel 91 echo ERRORLEVEL = 91
if errorlevel 90 echo ERRORLEVEL = 90
if errorlevel 89 echo ERRORLEVEL = 89
if errorlevel 88 echo ERRORLEVEL = 88
if errorlevel 87 echo ERRORLEVEL = 87
if errorlevel 86 echo ERRORLEVEL = 86
if errorlevel 85 echo ERRORLEVEL = 85
if errorlevel 84 echo ERRORLEVEL = 84
if errorlevel 83 echo ERRORLEVEL = 83
if errorlevel 82 echo ERRORLEVEL = 82
if errorlevel 81 echo ERRORLEVEL = 81
if errorlevel 80 echo ERRORLEVEL = 80
if errorlevel 79 echo ERRORLEVEL = 79
if errorlevel 78 echo ERRORLEVEL = 78
if errorlevel 77 echo ERRORLEVEL = 77
if errorlevel 76 echo ERRORLEVEL = 76
if errorlevel 76 pause
if errorlevel 75 echo ERRORLEVEL = 75
if errorlevel 74 echo ERRORLEVEL = 74
if errorlevel 73 echo ERRORLEVEL = 73
if errorlevel 72 echo ERRORLEVEL = 72
if errorlevel 71 echo ERRORLEVEL = 71
if errorlevel 70 echo ERRORLEVEL = 70
if errorlevel 69 echo ERRORLEVEL = 69
if errorlevel 68 echo ERRORLEVEL = 68
if errorlevel 67 echo ERRORLEVEL = 67
if errorlevel 66 echo ERRORLEVEL = 66
if errorlevel 65 echo ERRORLEVEL = 65
if errorlevel 64 echo ERRORLEVEL = 64
if errorlevel 63 echo ERRORLEVEL = 63
if errorlevel 62 echo ERRORLEVEL = 62
if errorlevel 61 echo ERRORLEVEL = 61
if errorlevel 60 echo ERRORLEVEL = 60
if errorlevel 59 echo ERRORLEVEL = 59
if errorlevel 58 echo ERRORLEVEL = 58
if errorlevel 57 echo ERRORLEVEL = 57
if errorlevel 56 echo ERRORLEVEL = 56
if errorlevel 56 pause
if errorlevel 55 echo ERRORLEVEL = 55
if errorlevel 54 echo ERRORLEVEL = 54
if errorlevel 53 echo ERRORLEVEL = 53
if errorlevel 52 echo ERRORLEVEL = 52
if errorlevel 51 echo ERRORLEVEL = 51
if errorlevel 50 echo ERRORLEVEL = 50
if errorlevel 49 echo ERRORLEVEL = 49
if errorlevel 48 echo ERRORLEVEL = 48
if errorlevel 47 echo ERRORLEVEL = 47
if errorlevel 46 echo ERRORLEVEL = 46
if errorlevel 45 echo ERRORLEVEL = 45
if errorlevel 44 echo ERRORLEVEL = 44
if errorlevel 43 echo ERRORLEVEL = 43
if errorlevel 42 echo ERRORLEVEL = 42
if errorlevel 41 echo ERRORLEVEL = 41
if errorlevel 40 echo ERRORLEVEL = 40
if errorlevel 39 echo ERRORLEVEL = 39
if errorlevel 38 echo ERRORLEVEL = 38
if errorlevel 37 echo ERRORLEVEL = 37
if errorlevel 36 echo ERRORLEVEL = 36
if errorlevel 36 pause
if errorlevel 35 echo ERRORLEVEL = 35
if errorlevel 34 echo ERRORLEVEL = 34
if errorlevel 33 echo ERRORLEVEL = 33
if errorlevel 32 echo ERRORLEVEL = 32
if errorlevel 31 echo ERRORLEVEL = 31
if errorlevel 30 echo ERRORLEVEL = 30
if errorlevel 29 echo ERRORLEVEL = 29
if errorlevel 28 echo ERRORLEVEL = 28
if errorlevel 27 echo ERRORLEVEL = 27
if errorlevel 26 echo ERRORLEVEL = 26
if errorlevel 25 echo ERRORLEVEL = 25
if errorlevel 24 echo ERRORLEVEL = 24
if errorlevel 23 echo ERRORLEVEL = 23
if errorlevel 22 echo ERRORLEVEL = 22
if errorlevel 21 echo ERRORLEVEL = 21
if errorlevel 20 echo ERRORLEVEL = 20
if errorlevel 19 echo ERRORLEVEL = 19
if errorlevel 18 echo ERRORLEVEL = 18
if errorlevel 17 echo ERRORLEVEL = 17
if errorlevel 16 echo ERRORLEVEL = 16
if errorlevel 16 pause
if errorlevel 15 echo ERRORLEVEL = 15
if errorlevel 14 echo ERRORLEVEL = 14
if errorlevel 13 echo ERRORLEVEL = 13
if errorlevel 12 echo ERRORLEVEL = 12
if errorlevel 11 echo ERRORLEVEL = 11
if errorlevel 10 echo ERRORLEVEL = 10
if errorlevel 9 echo ERRORLEVEL = 9
if errorlevel 8 echo ERRORLEVEL = 8
if errorlevel 7 echo ERRORLEVEL = 7
if errorlevel 6 echo ERRORLEVEL = 6
if errorlevel 5 echo ERRORLEVEL = 5
if errorlevel 4 echo ERRORLEVEL = 4
if errorlevel 3 echo ERRORLEVEL = 3
if errorlevel 2 echo ERRORLEVEL = 2
if errorlevel 1 echo ERRORLEVEL = 1
if errorlevel 0 echo ERRORLEVEL = 0
echo.
goto end
:置255
cls
CHOICE /C:
cls
echo.
echo.
echo 已将错误级变量置为 255
echo.
echo.
goto end
echo.
echo 用 CHOICE.COM 生成指定的错误级 ERRORLEVEL 255
echo.
echo 经实验故意让 CHOICE.COM 出错就可以生成指定的错误级 ERRORLEVEL 255
echo 经实验故意让 CHOICE /C: 为空就可以生成指定的错误级 ERRORLEVEL 255
echo 然后 cls 以盖掉它的出错信息,并把本注释放在后面,以使本注释成为内部注释。
echo.
echo CHOICE.COM 不能生成指定的错误级 ERRORLEVEL 0
echo CHOICE.COM 最小指定生成是错误级 ERRORLEVEL 1
echo 原因很简单,CHOICE /C: 为空出错而生成指定的错误级 ERRORLEVEL 255
echo 正常时,CHOICE /C:12... 反而有 1 则 1,有 2 则 2,有 3 则 3 .....了。
echo.
echo 请键入下面的代码之一指定想要生成的错误级代码:
goto end
:置255BAK
FINDRAMD
echo.
echo.
echo 已将错误级变量置为 255
echo.
echo.
goto end
:置0
mem >nul
rem attrib >nul
echo.
echo.
echo 已将错误级变量置为 0
echo.
echo.
goto end
:提示1
cls
echo.
echo 用 %1 %2 %3 %4 %5 %6 %7 %8 %9 代入一个单独命令或携参形式,
echo 可以测试它的错误级。
echo.
echo 如果要测试的是一个复式的“命令组合形式”,并含有管道符或重定向符,则必需要到
echo 本批命令中作具体修改后测试。且一定要用 %1 = /mm 复测符,以便 goto 到复测段。
echo.
echo 例如:MEM /M RD16 | FIND "RD16 is using"
echo.
echo.
echo 用 %1 = ? 显示当前错误级 (上一个有错误级返回码程序遗留的) 。
echo.
echo 用 %1 = 0 清除错误级为 0 。
echo.
echo 用 %1 = 255 可置错误级为 255。
echo.
echo 用 %1 = C 可生成指定的错误级。
echo.
echo 用 %1 = H 显示另一屏信息。
echo.
echo 用 %1 = L 显示已知程序返回错误级的列表。
echo.
echo 用 %1 = MM 测试一个“复式组合命令”,如果在本批命令中已组织好的话。
echo.
goto end
:提示2
cls
echo.
echo.
echo 请注意:
echo 有些命令不返回错误级,测试报告的错误级很可能是上一个返回错误级的程序遗留
echo 下来的,但是错误级不象环境变量可以清除;所以要注意报告的错误级的正确性。
echo 可以故意用返回不同错误级的程序去冲刷错误级变量,若当前测试的命令或程序总是
echo 和已知返回错误级的程序遗留的错误级相同,可以认为当前这个被测试的命令或程序
echo 是不返回错误级的。
echo.
echo 若遗留的 0 错误级上升了,或遗留的 255 错误级下降了,都意味着当前结果是正确的。
echo.
echo 那么,用什么程序去冲刷错误级环境变量好呢;现已知 FINDRAMD.EXE 在没有装载
echo RAMDRIVE.SYS 驱动的情况下,将返回 255 错误级,在已装载 RAMDRIVE.SYS 驱动的
echo 情况下,将返回真实可用的 RAM 盘符错误级,3=C, 4=D, 5=F ...... 依次类推。
echo.
echo 又已知任一程序执后正常退出,错误级为 0 ;若异常退出,则错误级可能为 1 或 2 。
echo DELTREE /y nul 〉nul 也可以清零,且不受版本限制。
echo 用 CHOICE.COM 更可以生成指定的错误级,且没有版本限制。
echo 这就足够了,能使错误级在 0 - 255 间变化,以至可以任意指定;还不够吗。
echo.
echo 请注意:经测试已知,内部命令不返回任何错误级。
echo.
echo 用 %1 = /L 显示已知程序返回错误级的列表。
echo.
echo.
goto end
:列表
cls
echo.
echo 经测试获得的程序错误级返回码列表:
echo 程序名 0 返回码 实际返回码 实际返回码
echo -------------------------------------------------------------------------------
echo FINDRAMD.EXE 0 = 不可能、最小是 2 3C, 4D, 5E ...... 255 = 找不到 RAMD
echo FIND.EXE 0 = 找到匹配 1 = 不匹配 2 = 空参或版本错误
echo MEM.EXE 0 = 正常结束 1 = 版本错或异常结束
echo CHKDSK.EXE 0 = 永远为此, 因微软淘汰使它不干活而致 (用于清零倒很好)
echo ATTRIB.EXE 0 = 正常结束 1 不明 2 不明 3 IO 错误
echo XCOPY.EXE 0 = 正常结束 1 不明 2 不明 3 不明 4 IO 错误
echo.
echo.
echo.
echo.
echo.
echo.
goto end
:end
[ Last edited by VAF on 2008-1-24 at 01:01 AM ]
|
|
2008-1-24 00:46 |
|
|
BatMan
初级用户
蝙蝠侠是写批处理的人
积分 54
发帖 24
注册 2008-1-4
状态 离线
|
『第
5 楼』:
VAF兄的程序目的是试探某给定的输入命令的ERRORLEVEL吗?
我有些疑问...
1、IF ERRORLEVEL,实际上仅需打印最大的那个值就够了吧?因IF ERRORLEVEL是大于等于匹配的,较大的值若能PASS,较小的值必也能PASS...而此时,直接使用ECHO %ERRORLEVEL%岂不更简便?
2、若需设置ERRORLEVEL为特定的值,实际上仅需CALL如下代码段即可,参数1为所需的ERRORLEVEL,不必劳烦实际指令或CHOICE...
:SetErrorlevel
EXIT /B %~1 3、WinXP的情况下(其他OS我手头上没有),ERRORLEVEL实际上是整个整数区间可用的,没有255的限制(MS自己的命令是否有此限就不清楚了),比如我就喜欢用这个函数来取文件大小,以ERRORLEVEL的方式返回
:GetFileSize
EXIT /B %~z1
|
|
2008-1-24 02:19 |
|
|
VAF
中级用户
积分 242
发帖 134
注册 2006-12-11
状态 离线
|
『第
6 楼』:
回5楼蝙蝠侠
我和你比, 水平差多了, 这是我2003年练着玩的 (未再检查就掂来了) .
不必认真, 认真的话肯定 Bug 很多.
那不合适或错误的话, 你随便批评指正, 并请你代劳修改.
我没时间和精力了 (快60岁了) .
|
|
2008-1-24 02:28 |
|
|
qzwqzw
银牌会员
天的白色影子
积分 2342
发帖 635
注册 2004-3-6
状态 离线
|
『第
7 楼』:
to BatMan
1、EXIT /B 的用法98和DOS是没有的
2、98和DOS下的errorlevel确实有区间限制
因为这个errorlevel是通过int21中断的AL设定的
而AL是单字节的寄存器所以大小限制在0~255
|
|
2008-1-24 09:53 |
|
|
BatMan
初级用户
蝙蝠侠是写批处理的人
积分 54
发帖 24
注册 2008-1-4
状态 离线
|
『第
8 楼』:
VAF兄是近60的人了!?:o
受教了,qzwqzw兄,我都是在WinXP上玩BAT的,所以不清楚其它OS的情况。:)
|
|
2008-1-24 12:53 |
|
|
shuiyin313
初级用户
积分 177
发帖 85
注册 2007-12-1
状态 离线
|
『第
9 楼』:
THANK YOU FOR VAF&BATMAN
|
|
2008-1-26 10:18 |
|