PURGETREE - On Windows systems, rapidly identifies duplicate files in an entire directory tree using the SHA-256 hash algorithm, then creates and executes a batch file to rapidly delete all but one of the duplicates.
dirname = The name of the highest ("parent") directory in the directory tree within which you wish to purge duplicate files.
This function rapidly compares large numbers of files for identical content by computing the SHA-256 hash of each file and detecting duplicates. The probablility of two non-identical files having the same hash, even in a hypothetical directory containing millions of files, is exceedingly remote. Since hashes rather than file contents are compared, the process of detecting duplicates is greatly accelerated.
If PURGETREE is called with any arguments, for example purgetree('displayonly') or simply purgetree(1), then the file deletion commands are displayed in the Matlab window but NOT executed (i.e., no files are deleted.)
You must have the freeware file sha256deep.exe on your Matlab path to use this function. The sha256deep.exe file is included in the download, but is also available as part of the md5deep family of functions at:
The SHA-256 hash algorithm was developed by the National Institute of Standards and Technology (NIST) and is described at:
When duplicate files are found, the file that has the first alphabetically sorted name is retained; others are deleted.
Carefully tested, but no warranty; use at your own risk.
Michael Kleder, Sep 2005
Michael Kleder (2022). Directory Traversal and Duplicate File Deletion using the SHA-256 Hash (https://www.mathworks.com/matlabcentral/fileexchange/8495-directory-traversal-and-duplicate-file-deletion-using-the-sha-256-hash), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: Using the MD5 Hash for Duplicate File Deletion
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!