exf is a console (command line) Windows utility similar to fsum, md5sum, sha1sum, etc.
- Multi-threaded operation scans multiple files concurrently so stuff gets done faster.
- Unicode-compatible so that Unicode file names aren’t a problem.
- Tests and creates digest files in the following formats:
- Supports multiple hash (checksum) routines:
- MD2, MD4, MD5
- SHA1, SHA2 (SHA256, SHA384, SHA512)
- RIPEMD128, RIPEMD160
- TIGER128, TIGER160, TIGER192
- Supports recursive directory scanning
exf 220.127.116.11 BETA
- Fixed problem that caused batch files to terminate with exf.
This was caused by the way Windows consoles handle changing of the output code page. exf now reverts the console output code page to the pre-existing code page setting when exf finishes. This means that Unicode characters will appear as squares on the screen, but redirected output (such as to a file) does not lose data, so this is okay.
- Minor performance improvement.
exf 18.104.22.168 BETA
- Changed SHA1 style output and digest input scanning to be compatible with GNU sha1sum.
exf 22.214.171.124 BETA
- Adjustments to file reading code.
- Fixed hidden files not getting scanned.
- Added -fp switch to include full path in digest output.
- Console output includes number of files hashed.
exf 126.96.36.199 BETA
- Initial release.
Very nice program, I can’t wait for the GUI version. I have been using FILECHECKMD5 for years and on my USB drive. Will the GUI version have the ability to process a single file like dpasha can?
Yes, ExactFile GUI will be able to do that no problem.
Can it display the number of files processed like FILECHECKMD5?
I was looking for a SHA1 checksum generator that would work recursively (unlike sha1sum!) and found exf. Awesome! Congrats! That being said, for SHA1 sums, the output format requires an asterisk (“*”) before the filename:
; Checksums generated by ExactFile Console Application 188.8.131.52 BETA
; 2/2/2009 1:57:41 PM
with sha1sum (using -b for binary files):
I might not have got it right but it’d be nice to have the ability to have the full path saved in the output file, e.g. C:\test.pdf.
Again, great job!
I can add a switch for full path output in file names.
As for sha1sum — the sha1sum executable I have does not have a binary switch and outputs exactly as the -osha1 output from exf. What Windows sha1sum binary are you using? I’ll need to check it out.
I’ll add that.
sha1sum on Windows is apparently a trimmed down version of the original Unix/Linux version. On Linux, sha1sum has an option to read files in binary mode (not needed on Windows) and you get this:
[mike@FEDORA6 ~]$ sha1sum -b foo.txt
[mike@FEDORA6 ~]$ sha1sum foo.txt
Again, on Windows, the “-b” is implied.
I’ve updated exf (184.108.40.206) to work with gnu sha1sum style output. exf only works with binary, though, so it would not return the same checksum as gnu sha1sum in text mode.
My one and only comment will be :
WOW!very nice job!
thx a lot for making this available
Great program – just what I needed to check that a copy has copied ok.
If checking files just after creating a checksum from them will the program “force” a read of the media where the files reside or will it just read from the RAM cache so a reboot is nessesary to clear ram?
That’s left up to the operating system; typically if you check immediately after making the checksum file, it’ll just be pulled from the RAM cache. I’ll see about forcing it clear for files being tested. Not sure if that’s easily done or not…
I am trying to use exf within a batch file. The program runs correctly but then exits the bat file without continuing on to the next command.. Is there a switch or something that would correct this behavior?
I’ll have to do some testing to see what is causing that.
Nice program. Can you make a Linux port, at least for the command-line version? The multithreaded comp and extra hash functions would be a nice addition to the standard hash utils.
No, at least not for a while. If Embarcadero gets a cross-platform compiler in place (as they are planning), I might do a command-line version. But I don’t use Linux so this will be an extremely low priority for me.
Need to say, great work! Thanks for coming up with this, very helpful for checking those large copies. I am seeing the same thing in that when I call exf.exe from a batch script the exf.exe command runs correctly but then closes the script. I am also seeing that if I run the batch script from an existing command session I can not run the script again till I close that session and open a new one. Hope that helps some.
Again, thank you for all the great work so far!
Would be great if you could add “exit code” feature to exf. Many command line utilities has this feature, for example, RAR, even fSum has it. Let’s say, 0 – means successful operation, 1 – Summing error occured, 2 – Fatal error, etc. etc. Exit code is very important when users are dealing with automation tasks. Thanks.
Version 220.127.116.11 fixes the problems reported with batch files. Due to the required changes to make it work properly with batch files, Unicode symbols will now show on screen as boxes. However, exf itself is still running with Unicode capability, and redirected output to a file will retain the full data, so this is not a problem.
Thanks for the excellent program! It’s perfect for digital photographers interested in maintaining a reliable archive.
There are quite a few folks interested in validating images over time as part of Digital Asset Management. A guy named Peter Krogh has a nice web site to discuss the topic at http://thedambook.com/
Yes the site name was picked to advertise a book, but the forum is also a good place to go to ask questions or discuss DAM issues. In any case, I’m going to go over and suggest that folks take advantage of your wonderful software.
Thanks very much,
p.s. It was easy to make a small donation via PayPal by clicking your Donate button on the home page ;-}
Hi again Brandon.
I did post a positive note about ExactFile over on the other web site I mentioned. After thinking about the way photographers are likely to use your software a bit more, I have a feature request: Support “shortcuts” to folders as if they were native folders in your Create Digest and Check Digest scans.
This would enable multi-volume collection support in the non-“Professional” versions of XP, Vista and probably Win 7. It would also defuse some probable objections.
As you may know, it’s increasingly popular to shoot in “RAW” mode with digital SLR’s. There are lots of image processing and quality advantages to doing so over JPEGs but it does produce lots of data. My “old” Canon XTi records about 10 MB of compressed data per shot and my newer Canon 50D records about 30 MB per shot. Nikon, Olympus and … SLR cameras produce similar amounts.
The need for multi-volume disk support is here today for some. I, and many others, are likely to need it in the near future. So if this request is reasonably easy to add, please consider it for your next version.
Firstly thanks very much for this software.. I have been using EXF rather than the Gui version to take away the chance of user error, and also to instruct end users on using a check method correctly.
Can you please tell me.. is there a way to have a progress bar of sorts, whilst EXF is generating hashes?
Because I have used batch files with this, a user only sees a blank screen and assumes that it has “crashed” :0)
Firstly, allow me to thank you for such a wonderful and necessary application.
Second, I have a small problem, maybe you can shed some light on. If I have a folder that has 50 subfolders with md5 and sfv checksum files, how do I set exactfile to scan the root document for checksum files and verifies the integrity of each folder.
I need this when I am mirroring my HD to another HD, and it is important to verify that data is successfully copied.
PS: I md5 and sfv every folder I have, used to use another software for that, before I found Exactfile.
I’ve just found this program, great work !!
How can I use the return code of this program, on a batch (.cmd) script ?
Pingback: Why use file integrity MD5 checksum? « Networknet.nl Blog
Exf looks like just what I have been searching for. But there is one thing I’d like to see added if possible. Its a function every program of this kind seems to be missing.
Would it be possible to add a fucntion like this.
When you set it to make a checksum file of like tens of folders that it will create one checksum file in each folder for the files here present that is either named after the folder they are in or have a name you choose yourself.
Secondly the gui version will always choose “checksum” as a name when you do it the quick way, what about the option to set your own name in setting or make it use the folder name for it?
Great work and goodluck with it forward. 🙂
Thanks for a good program. Console version is very flexible.
1. Found bug: source digest *.md5 file for testing is limited to something about 40k (44032 bytes). While testing onmy archives, on some point program reports that some file does not exists and stops. In a digest *.md5 file some others strings exists, but are not processed.
2. Required feature: it is very likely that program can accept not only files mask like *.zip but name of the file (for example: -fl 1.lst), containing list of the files to process. This is very useful for shells like FAR manager which can create dynamic list of currently selected on the panel files to pass their names as a list file to data processor.
I found ExactFile from checking out TheDAMBook Forum. Not sure yet if it is what I need.
I want to use ExactFile for verifying a copy of an entire photo archive, let’s say 250-300 GB. I want to copy the archive to an external disk and then delete the original (so that I will then be able to enlarge the partition). Before deleting the original, I want to confirm that the copy is valid.
From what I have seen in “usage”, ExactFile works on individual files but not on large folder-directories. Can ExactFile produce a single checksum hash for 250-300 GB or does it just produce this for each file individually? (With just a single hash for the whole directory structure, a checksum comparison failure will only tell us that the copy is not valid, without saying where in those 300 GB the failure occurred. If EF produces individual hashes for thousands of files, how are these compared?) CAN ExactFile handle a directory of 250-300 GB or so containing thousands of individual files in many sub-directories?
Thanks for any feedback.
Great work you’ve done here Brandon.
Any chance you could add an option to include the basic file properties in the Digest file? Having the file size and dates would be fantastic.
Ever consider adding some options (maybe to command line) so a person could skip a certain file type? Or add email notification on error or completion? This tool would be perfect for me if it had that. Ha. Seriously though, awesome work on this tool.
I would be interested in a program that can create a checksum for a drive, to be able to use in Windows what in Linux would be “md5sum /dev/cdrom”. Or, instead of a separate program, this could be a function of exf. This would be useful to check if an image was correctly written to a disk. The checksum of the image after download should match the checksum of the disk with the image on it.
Great checksum utility! Unicode support is a big plus too.
Would it be possible to return a non-zero error code in the event of a failed digest test, or a failed hash? It’d be very useful for error handling in batch files and so on.
Most excellent work here…I’ve seen several comments about whether or not an exit code can be passed? I am looking for a replacement for M$’s FCIV.exe and want to write a VB wrapper around exf, but i need to be able to grab an exit code.
Excellent program – however, files with either +h or +s are not scanned and hashed with exf 18.104.22.168 BETA. I have not tried the GUI version as I primarily use the console due to large number of files involved (1+mil) and many GUI programs out there weren’t able to cope in this situation (ran out of memory).
Again, 5 out of 5 stars.
== BUG ==
Hidden files are not scanned as Feb 2015, ver ExactFile Console Application 22.214.171.124 BETA
== BUG ==
Dirs with System attribute are not scanned as Feb 2015, ver ExactFile Console Application 126.96.36.199 BETA
Either a bug or I’m not doing something right. There are two folders with setup files that aren’t being seen by ExactFile under a certain condition. If I create a digest several directories up, it doesn’t see them. But if I create a digest of that directory specifically, it includes them. The only thing I see that makes those folders stand out is that they’re marked hidden in properties. When I change that, they are seen and treated normally in ExactFile. Just the folder the setup files were in was marked hidden, not the files. If I remark that folder as hidden, the problem returns.
I see you worked on a similar issue at 188.8.131.52. I’m using version 184.108.40.206 BETA.
You have created a fantastic program. Thank you!
That’s by design. An option to scan those types of folders/directories would be a good addition, I agree.
I’m trying to understand something here. By design, your program ignores hidden folders. But you fixed a bug where it missed hidden files. Why give attention to hidden files but not hidden folders, by design? This behavior is not obvious to people who would use your program and cause some errors in directory content integrity checking. I ran into that and was very confused about what had happened until I narrowed it down to this.
Not a bug.
Not a bug.
I tested various softwares including MultiHash, FileVerifier++, FSum, Slavasoft’s Hash Calculator, Easy Hash, Jacksum, Karen Hasher etc. However, I found both exf.exe and ExactFile much better and easy to use among all these.
I would feel glad if you also add keccak algorithm to both of your software.
The console utility is a great tool – almost exactly what I’ve been searching for.
It would be just excellent if it had extra two features:
1) Exclude/include files/directories by wildcards or via an external list – there is no sense in calculating checksums for Thumbs.db or other regenerated cache-like files.
2) When processing directories instead of storing checksums in one large file it would be handy to have one file in each subdirectory (same effect can now be achieved with an extra script).
The description doesn’t include compatibility with Windows 10?
“For Windows 2000, XP, Vista, and 7.”
I’m looking for a replacement for QuickSFV since that breaks the right-click context menu in Win10. Will this be updated to work in Windows 10?
It works with Windows 10. Just try it.
Hello, ExactFile is a tool I used and loved on Windows. Now I have switched to Linux, and haven’t yet found a similar tool. Anyone know one ?
But my ideal tool is a combined multi-threaded file copy AND hash-generating tool:
Why have to first copy all 2 TB of data from HD1 to HD2 and then read them all again to generate hash ?!
So my ideal tool would use multithreading, generate hash on the fly, support command-line flags about ignoring folders, etc. and produce a fairly standard checksum file, e.g. in each folder, so subtrees could be verified, etc. Oh, the tool should be open source, so both Windows and Linux versions could be compiled 🙂
Does anyone know about such a tool ?
Brandon, thanks for ExactFile !