Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
284 views
in Technique[技术] by (71.8m points)

cmd - Delete files based on MD5 hash

Using Windows command line (not powershell), I want to hash all files within the directory and then remove files that match a particular hash set contained within a text file.

I've considered using md5deep, but I'm unsure if the output of matched files can then be redirected into a delete command.

Any help gratefully received, thank you!

To add some detail; the files are in a directory called 'images'

md5deep.exe -r -b -x irrelevant_hashes.txt c:images

This gives me a list of the files that I need to keep. Is it possible to redirect the output from MD5deep to move the 'good' files to another directory?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

For a single md5 key in cmd line it is as easy as:
(Here using the 64bit variant).

set "KillMD5=00112233445566778899aabbccddeeff"
for /f "tokens=1*" %A in ('md5deep64.exe *.* 2^>mul') do @if %A==%KillMD5% @Echo del "%B"

For testing the del command is only echoed.
In a batch file double the % percent signs %%A/%%B


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...