如何检查批处理文件中的校验和?

时间:2009-06-12 17:22:14

标签: batch-file

我想创建一个批处理文件,只有在MASTERRESET.DLL由以下行组成时才会继续:

  

ih7rhj49g9r0390jf89j39hfj439jf948hf89h3j89fj98rh893f893b9bf983b89bf89rhf89hr89fh389h9hr893rr   0jf3rj09ihf3hr9f8987743h9voirjf893hfh3hf03j03fjfe00fej33893uo34h83484fb3iuu3f94hf4hr8h498r94

我只是希望批处理文件检查.dll文件,就像在.txt文件上一样。它只是读取它,当它匹配时,它应该使用GOTO。

(是的,WINDOWS)

我该怎么做?

并且不,这不是任何秘密密码或类似的东西。代码可能不同(嗯,我很确定。)但它只是让你知道它有多长,它是2行。

2 个答案:

答案 0 :(得分:2)

我不明白你希望完成什么,但是......

Find "ih7rhj49g9r0390jf89j39hfj439jf948hf89h3j89fj98rh893f893b9bf983b89bf89rhf89hr89fh389h9hr893rr" MASTERRESET.DLL
If Errorlevel 1 Goto NotFound
Find "0jf3rj09ihf3hr9f8987743h9voirjf893hfh3hf03j03fjfe00fej33893uo34h83484fb3iuu3f94hf4hr8h498r94" MASTERRESET.DLL
If Errorlevel 1 Goto NotFound

Rem whatever you need to do when a match is found, put here

:NotFound

Rem done

当然,如果你想让它以静默方式运行,你就会关闭回声并将输出重定向到NUL,如下所示:

@Echo off
Find "ih7rhj49g9r0390jf89j39hfj439jf948hf89h3j89fj98rh893f893b9bf983b89bf89rhf89hr89fh389h9hr893rr" MASTERRESET.DLL > NUL
If Errorlevel 1 Goto NotFound
Find "0jf3rj09ihf3hr9f8987743h9voirjf893hfh3hf03j03fjfe00fej33893uo34h83484fb3iuu3f94hf4hr8h498r94" MASTERRESET.DLL > NUL
If Errorlevel 1 Goto NotFound

...

答案 1 :(得分:0)

如果目标文件实际上是一个dll,那么findstr.exe可能是比find.exe更好的选择

更好的是建立有问题的dd的md5总和,然后检查它是否相同。我目前最喜欢的: http://md5deep.sourceforge.net/ 但如果你挖一点,你有很多选择。

md5deep.exe可以检查此dll是否存在或已更改,并将通过错误级别提醒您的脚本 - 请查看文档以获取示例。很简单。

罗布