A high-performance directory scanner that finds, sorts, and previews the largest files on your hard drive. Built with Python and PyQt6 for a modern, user-friendly experience.
- β‘ High Performance: Optimized Python implementation for fast scanning
- π₯οΈ Modern GUI: Beautiful PyQt6 interface with dark theme
- π Smart Sorting: Automatically sorts files by size (largest first)
- π― File Type Filtering: Filter by Images, Videos, Archives, and Executables
- π Progress Tracking: Real-time percentage-based progress bar
- π File Preview: Built-in text file preview functionality
- ποΈ File Management: Delete files and directories directly from the interface
- π€ Export Results: Save scan results to JSON format
- π Cross-Platform: Works on Windows, Linux, and macOS
- π¦ Standalone Executable: Ready-to-use .exe file included
- Python 3.8+ with pip
- PyQt6 for the GUI
git clone <repository-url>
cd "Directory Scanner"cd python_frontend
pip install -r requirements.txtThe application is now ready to use. You can either run the standalone executable or the Python script directly.
# Navigate to the executable
cd "python_frontend"
# Run the standalone application
"Directory Scanner.exe"cd python_frontend
python main.py-
Launch the Application
- Double-click
Directory Scanner.exe(standalone) - Or run
python main.py(development)
- Double-click
-
Select Directory
- Click "Browse" to select a directory
- Or type the path directly
-
Configure File Filters (Optional)
- Check "Images" for image files (.jpg, .png, .gif, etc.)
- Check "Videos" for video files (.mp4, .avi, .mov, etc.)
- Check "Archives" for compressed files (.zip, .rar, .7z, etc.)
- Check "Executables" for executable files (.exe, .msi, .app, etc.)
- Leave unchecked to scan all file types
-
Configure Scan
- Choose max results (100-10,000 files pr Unlimited files)
- Click "Start Scan"
- Watch the real-time progress bar
-
View Results
- Files are automatically sorted by size
- Click any file to preview its contents
- Use the table headers to sort by different criteria
-
Export Results
- Click "Export Results" to save as JSON
- Choose your preferred location
Directory Scanner/
βββ π README.md # This file
βββ π run.bat # Windows batch script
βββ π run.sh # Unix shell script
βββ π test_scanner.py # Test utilities
βββ π python_frontend/ # PyQt6 GUI application
βββ π Directory Scanner.exe # Standalone executable (ready to use)
βββ π main.exe # Build artifact
βββ π requirements.txt # Python dependencies
βββ π main.py # Main GUI application
βββ π main.spec # PyInstaller configuration
βββ π build/ # Build artifacts
βββ π dist/ # Distribution files
Python Implementation:
- Optimized file system operations
- Efficient memory usage
- Real-time progress tracking
- Suitable for directories of all sizes
Edit python_frontend/main.py to customize:
- Default scan limits
- UI themes and colors
- File preview formats
- Export options
Python Application:
cd python_frontend
pip install pyinstaller
pyinstaller --onefile --windowed main.py
# Executable: dist/main.exe (Windows)Windows:
pyinstaller --onefile --windowed main.pyLinux:
pyinstaller --onefile --windowed main.pymacOS:
pyinstaller --onefile --windowed main.py"No module named 'PyQt6'"
pip install PyQt6"Permission denied" errors
- Run as administrator (Windows) or with sudo (Linux/macOS)
- Check directory permissions
Slow scanning performance
- Reduce the max results limit
- Scan smaller directory trees
- Close other applications to free up system resources
| Directory Size | Scan Time | Memory Usage |
|---|---|---|
| Small (1K files) | ~1 second | ~30MB |
| Medium (10K files) | ~5 seconds | ~50MB |
| Large (100K files) | ~30 seconds | ~100MB |
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
# Install development dependencies
cd python_frontend
pip install -r requirements.txt
pip install pytest black flake8
# Format code
black main.py
# Run tests
pytestThis project is licensed under the MIT License - see the LICENSE file for details.
- PyQt6 for the excellent GUI framework
- Python Community for amazing libraries and tools
- PyInstaller for making standalone executables possible
- Add file type filtering (Images, Videos, Archives, Executables)
- Real-time progress tracking with percentage display
- Standalone executable distribution
- Modern dark theme UI
- Implement duplicate file detection
- Add directory size visualization
- Create installer packages
- Add network drive support
- Implement file operations (delete files and directories)
- Add file hash calculation
- Implement search functionality
Made with β€οΈ using Python
This app is created by https://socratisp.com