Skip to content

grasberg/dupecheck

Repository files navigation

Duplicate File Finder

A modern GUI application for finding and managing duplicate video files on Windows.

Features

  • Multiple Detection Strategies:

    • Full Hash: SHA256 hash of entire file (most accurate)
    • Partial Hash: SHA256 of file samples (1MB from start, middle, end) - optimized for large video files
    • Size Only: Quick comparison based on file size
  • Smart Results Display:

    • Duplicate groups sorted by oldest file first
    • Oldest file highlighted as suggested "keeper"
    • "Select All Except Oldest" button for each group
    • Shows file size, modification date, and wasted space
  • File Operations:

    • Delete selected files permanently
    • Move files to temp folder preserving directory structure (format: temp_folder/C/path)
    • Confirmation dialogs with file count and size information
  • Persistent Settings:

    • Auto-saves all settings on changes
    • Remembers selected directories, temp folder, and detection strategy
    • Follows system appearance mode (dark/light theme)

Installation

  1. Install Python 3.8 or higher
  2. Install dependencies:
    pip install -r requirements.txt
    

Usage

Run the application:

python main.py

Workflow:

  1. Add Directories: Click "Add Directory" to select folders to scan
  2. Choose Strategy: Select detection strategy (default: Partial Hash for video files)
  3. Set Temp Folder: Specify where to move duplicate files (optional)
  4. Start Scan: Click "Start Scan" to find duplicates
  5. Review Results: Examine duplicate groups (oldest file is highlighted in green)
  6. Take Action:
    • Use "Select All Except Oldest" to quickly select duplicates
    • Click "Delete Selected" to permanently remove files
    • Click "Move Selected to Temp Folder" to safely relocate files

Technical Details

  • GUI Framework: CustomTkinter (modern, themeable UI)
  • Hashing: SHA256 algorithm
  • Threading: Background scanning to prevent UI freeze
  • Progress Tracking: Real-time display of files scanned, speed (MB/s), and elapsed time
  • Structure Preservation: Moved files maintain original directory structure

Files

  • main.py: Application entry point
  • gui.py: CustomTkinter GUI interface
  • duplicate_finder.py: Duplicate detection algorithms
  • file_operations.py: File deletion and moving operations
  • config_manager.py: Settings persistence (JSON)
  • requirements.txt: Python dependencies
  • config.json: User settings (auto-generated)

Notes

  • Optimized for large video files
  • Partial Hash mode samples 1MB from start, middle, and end of files
  • All settings auto-save on change
  • Window size and position are preserved between sessions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages