This is a simple tool that helps you to clean your desktop (or any directory) by moving specific groups of file types to a designated folder.
Currently, this tool does not support moving files between mount points/file systems. This is because the tool uses the rename
function from the std::fs
module, which does not support moving files between mount points/file systems.
This tool also does not support a target folder that is not a subdirectory of the source folder.
You pass in a directory, and the tool will organize that directory by moving files of specific types to a designated folder within that directory.
You can configure the file types and the folders in the config file.
if you do not specify a path, the tool will use your desktop, if a desktop cannot be found, it will use your home.
You can always use the .
path to specify the current directory.
- Add support for config file
- Add support for custom file types
- Add support for custom folders
- Automatically create config file if it does not exist
- Add support for subdirectories
- Add colors to the output
- Add installers
- Sign releases
desktop_cleaner [OPTIONS] [PATH]
--help, -h Prints help information
--version, -v Prints version information
PATH The path to the folder you want to clean
You can install from the releases or build from source.
Warning: MacOS users will have to build from source, as I do not have a Mac to build the executable on, yet. If you have a Mac and would like to help, please open an issue, I will be very grateful. Otherwise, if you feel like supporting me, check out my Github Sponsors Page, I will be very grateful too 😄
Note: Releases are only available for Linux and Windows at the moment.
Warning: Releases are not signed, so you will get a warning from your OS when you try to download and run the executable, this is normal and you can safely ignore it.
- Download the latest release from here
- Place the executable somewhere on your computer
- Add the location of the executable to your PATH
- Clone the repository
- Make sure rust is installed (if not, follow the instructions here)
cargo build --release
Or to build and install
cargo build --release && install --path <path>
To test the executable
cargo run <args for executable>
Example:
cargo run -- -h
Please see the config file for an example.
The list of file types and their associated folders is only limited by your imagination (and the rules of your OS).