Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Cleaning Utility

A desktop file cleaning utility built with Python and Tkinter.

This app lets you select a folder, scan for specific file types, and clean or organize files using a simple graphical interface.

Demo

File Cleaning Utility Demo

Features

  • Select a folder from your computer
  • Scan files by category:
    • Documents
    • Images
    • Videos
    • Music
    • Archives
    • Executables
    • Others
  • View scan results inside the app
  • Choose how files should be cleaned:
    • Move to Trash
    • Move to Folder
    • Delete Files
  • Automatically organize files into category folders when using Move to Folder
  • Handles duplicate file names by renaming moved files
  • Shows cleaning progress with a progress bar
  • Uses a custom app icon
  • Separates UI code and logic code into different files

How It Works

  1. Select a folder to scan.
  2. Choose one or more file type filters.
  3. Click Scan Files.
  4. Select a cleanup option.
  5. Click Start Cleaning.

When using Move to Folder, the app creates category folders such as:

  • Documents
  • Images
  • Videos
  • Music
  • Archives
  • Executables
  • Others

Files are moved into the matching folder based on their file extension.

If a file with the same name already exists, the app automatically renames the moved file.

Example:

  • example.txt
  • example (1).txt
  • example (2).txt

Tech Stack

  • Python
  • Tkinter
  • ttk
  • pathlib
  • send2trash
  • shutil
  • PyInstaller

Project Structure

File structure:

  • layout.py
  • logic.py
  • static/
    • file_cleaner_icon.png
    • screenshots/
      • file_cleaner_demo.gif
  • .gitignore
  • README.md

Installation

Clone the repository:

git clone https://github.com/Defiantxt/file-cleaning-utility.git

Go into the project folder:

cd file-cleaning-utility

Install dependencies:

pip install send2trash

Run the app:

python layout.py

Notes

This project currently uses a fixed-size desktop layout. It was designed and tested on Windows.

This project was built to practice:

  • GUI development
  • file handling
  • project structure
  • Git and GitHub
  • separating interface code from application logic

Safety Notes

The app includes options that can move or delete files. Use the scan results and cleanup options carefully before running the cleaning process.

The Move to Trash option is safer than permanent deletion because it uses send2trash.

Future Improvements

  • Add confirmation dialogs before deleting files
  • Improve responsive resizing
  • Refactor the UI into smaller helper functions
  • Add better error messages
  • Add recursive folder scanning
  • Add a settings file for custom file type categories
  • Improve cross-platform styling
  • Add a dark mode or themed UI
  • Add tests for the file handling logic

License

No license has been added yet.

About

A Python Tkinter desktop app for scanning folders, filtering file types, and organizing or cleaning files with progress feedback.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages