第一次在这个论坛上发布问题时,不要太粗糙。
我正在尝试创建一个小批处理文件,该文件获取文件夹中几个文件的MD5散列,并检查它们是否与我想要的文件相同,但我被卡住了。
if "!md2temp!"=="d1 9e 93 c0 a2 94 59 10 66 44 af 17 ea c5 56 2c" goto verificat
if "!md2temp!"=="d2 19 c0 a8 af f2 c7 71 94 6d 73 55 49 16 bd 9a" goto verificat
if "!md2temp!"=="8d f4 d4 32 4e 57 55 f1 a0 56 7d b3 c5 be 4c 58" goto verificat
if "!md2temp!"=="f9 56 47 0c 7f 50 91 01 02 21 a0 5b 7e 2f 19 92" goto verificat
if "!md2temp!"=="64 00 e2 24 b8 b4 4e ce 59 a9 92 e6 d8 23 37 19" goto verificat
if "!md2temp!"=="1a c3 d6 12 38 9f a6 79 f5 ca 3c 6b ab 85 51 45" goto verificat
if "!md2temp!"=="18 95 76 df e5 5a f3 b7 0d b7 e3 e2 31 2c d0 fd" goto verificat
goto fals请注意,md5散列以这种格式保存在md5ttt.tmp中:
d1 9e 93 c0 a2 94 59 10 66 44 af 17 ea c5 56 2c
d2 19 c0 a8 af f2 c7 71 94 6d 73 55 49 16 bd 9a
8d f4 d4 32 4e 57 55 f1 a0 56 7d b3 c5 be 4c 58
f9 56 47 0c 7f 50 91 01 02 21 a0 5b 7e 2f 19 92
64 00 e2 24 b8 b4 4e ce 59 a9 92 e6 d8 23 37 19
1a c3 d6 12 38 9f a6 79 f5 ca 3c 6b ab 85 51 45
18 95 76 df e5 5a f3 b7 0d b7 e3 e2 31 2c d0 fd但是这并不能让我满意,因为在第一次检查之后,它会转到:verificat,但是我想要的是:如果所有这些都被验证了,那么它可以转到:验证。
如果出现一个新的( md5ttt.tmp将如下所示):
d1 9e 93 c0 a2 94 59 10 66 44 af 17 ea c5 56 2c
d2 19 c0 a8 af f2 c7 71 94 6d 73 55 49 16 bd 9a
8d f4 d4 32 4e 57 55 f1 a0 56 7d b3 c5 be 4c 58
f9 56 47 0c 7f 50 91 01 02 21 a0 5b 7e 2f 19 92
64 00 e2 24 b8 b4 4e ce 59 a9 92 e6 d8 23 37 19
1a c3 d6 12 38 9f a6 79 f5 ca 3c 6b ab 85 51 45
18 95 76 df e5 5a f3 b7 0d b7 e3 e2 31 2c d0 fd
2a 3b 87 kd 93 op oz n2 c7 bb k6 78 91 d9 9f c5
4d n4 83 d9 a0 kp 93 21 2h g8 l0 c1 fd d1 7d c2注意有两个新哈希。如果它出现了一个新的哈希,它应该去:fals帮助请?:D
发布于 2016-07-19 06:48:07
看起来这段代码是在循环中使用的。计算从文件md5ttt.tmp读取的行数,并计算成功的md5哈希值。在循环之后,比较这两个计数并检查是否相等。
rem Code before the loop
set "LineCount=0"
set "HashCount=0"
rem Code inside the loop
set /A LineCount+=1
if "!md2temp!"=="d1 9e 93 c0 a2 94 59 10 66 44 af 17 ea c5 56 2c" set /A HashCount+=1
if "!md2temp!"=="d2 19 c0 a8 af f2 c7 71 94 6d 73 55 49 16 bd 9a" set /A HashCount+=1
if "!md2temp!"=="8d f4 d4 32 4e 57 55 f1 a0 56 7d b3 c5 be 4c 58" set /A HashCount+=1
if "!md2temp!"=="f9 56 47 0c 7f 50 91 01 02 21 a0 5b 7e 2f 19 92" set /A HashCount+=1
if "!md2temp!"=="64 00 e2 24 b8 b4 4e ce 59 a9 92 e6 d8 23 37 19" set /A HashCount+=1
if "!md2temp!"=="1a c3 d6 12 38 9f a6 79 f5 ca 3c 6b ab 85 51 45" set /A HashCount+=1
if "!md2temp!"=="18 95 76 df e5 5a f3 b7 0d b7 e3 e2 31 2c d0 fd" set /A HashCount+=1
rem Code after the loop
if !LineCount! == !HashCount! goto verificathttps://stackoverflow.com/questions/38451142
复制相似问题