2016-07-19 6 views
0

まず時間がそれほど荒れてはいけない> :(。Windowsのバッチ実際にこのフォーラムに質問を投稿する後藤

私はフォルダをチェックして、いくつかのファイルのMD5ハッシュを取る少しバッチファイルを作成しようとしています彼らは私が望む1と同じですが、私は..私はこの形式でmd5ttt.tmpで保存された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 

お知らせ動けなくなる場合:

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 

しかしこのdoesnのを私を満足させない最初のチェックの後に:verificatに行きますが、私が欲しいのは、それらのすべてが検証されていれば、検証することができるからです。

、新しいものが表示された場合(md5ttt.tmpはちょうどこのようになります。)2つの新しいハッシュ.. があること

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 

お知らせをし、新しいハッシュを表示された場合にはそれが必要goto文:fals お願いしますか? :D

+0

代わりのテスト彼らが等しい場合、すべてのテストは、彼らがすべて同じだったのでverificatにジャンプした後、それらが等しくない場合notverificatするためにそれを送ります。 –

+0

@JerryJeremiah uuuuhはあなたを得ることができません – uktea3

答えて

0

ループ内でこのコードが使用されているようです。ファイルmd5ttt.tmpから読み取った行を数え、成功したmd5ハッシュを数えます。ループの後で2つのカウントを比較し、等価性をチェックします。

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 verificat 
+0

ええ、私は私のバッチがダンプされ、あなたのコードが完全に動作する一時ファイルを削除しました。どうもありがとう ! – uktea3

関連する問題