99 lines
3.8 KiB
Markdown
99 lines
3.8 KiB
Markdown
# Finch Filer V1.0.2
|
|
|
|
---
|
|
|
|
## Description
|
|
|
|
A simple and humble file sorter app, built with the Python TKinter library. It can automatically move, copy, or delete files from a given directory, based on file types. For example, maybe your Downloads folder is cluttered with a bunch of useless files, but you want to keep all image files by moving them into your Pictures folder. This app can help you move the images and delete the junk, all in one click (after a bit of setup).
|
|
|
|
Other use cases:
|
|
|
|
- Moving all video files out of your camera roll
|
|
|
|
- Copying only certain types of documents into a backup folder
|
|
|
|
- Moving only files that contain the name "invoice"
|
|
|
|
This is my first real Python project, after many unimportant scripts and experiments. I really needed a project like this in my portfolio, even if it's not truly amazing. Expect some roughness here and there!
|
|
|
|
## Features
|
|
|
|
- Manage and sort files in your Downloads directory, or any directory of your choice
|
|
|
|
- Set file rules for generic file types (images, documents, etc.)
|
|
|
|
- Save your file rules configuration for future use
|
|
|
|
- Advanced: Create an automated task for scheduled file sorting
|
|
|
|
## Usage
|
|
|
|
You can easily launch the app on Windows by entering into the "Finch Filer.exe" executable.
|
|
|
|
Alternatively, open your terminal at the main directory (ensure that Python is installed).
|
|
|
|
If this is your first time, you may need to install a few dependencies:
|
|
|
|
`pip install -r require_user.txt`
|
|
|
|
Now you can launch the app:
|
|
|
|
`python finch_filer_gui.py`
|
|
|
|
|
|
|
|
By default, the first thing you'll see is a list of all files in your Downloads directory. You can switch to a directory of your choice by going to File -> Open Directory. Currently, this app displays only items in the chosen directory and not nested ones. You can inspect this list, as well as sort by date and size by clicking on the column headers.
|
|
|
|
Importantly, you'll want to set up file rules if you want things to happen. Select the Rules tab. You'll see a list of selectable generic file types, and options for each one. This is how you can filter out which file types to keep and which ones to delete, for example. Note that the type All Files overrides all other types, unless its action is set to "Ignore".
|
|
|
|
For moving and copying all files of a given type, you can set the action as desired, and then set your destination directory. Also, you can customize the file names or extensions for the sorter to process. Each item should be separated by a comma.
|
|
|
|
When you are ready, go back to the Files tab and click on the Start Task button. The sorter will do its job, and a summary will be shown at the end.
|
|
|
|
|
|
|
|
For advanced usage, you can use the command line mode. Open your terminal at the main directory, and enter:
|
|
|
|
`python finch_filer_cli.py`
|
|
|
|
By default, it will use the saved settings from the app to determine how files should be sorted. There are a few flags if you want other options:
|
|
|
|
```
|
|
-h, --help show this help message and exit
|
|
-s, --source SOURCE source directory (default: User Downloads)
|
|
-r, --rules RULES config file (default: Same as app setting)
|
|
-m, --mode MODE action for all files (move, copy, delete)
|
|
-d, --debug enables debug mode and ignores file actions
|
|
```
|
|
|
|
Example:
|
|
|
|
`python finch_filer_cli.py -s ~/Documents/Temp -m delete`
|
|
|
|
Hint: You can use `~/` as an alias for your user directory.
|
|
|
|
You can automate this task by having this command in a batch, shell, or bash script. This is useful if you want to periodically clean up any given directory.
|
|
|
|
## About
|
|
|
|
Email: thomas.j.wilc@gmail.com
|
|
|
|
## Changelog
|
|
|
|
1.0.2
|
|
|
|
- Fixed fatal error when running on GNU/Linux
|
|
|
|
1.0.1
|
|
|
|
- Improved directory structure
|
|
|
|
- Changed scripts available at project root
|
|
|
|
1.0.0
|
|
|
|
- Initial public release of Finch Filer
|
|
|
|
## License
|
|
|
|
This software is licensed under [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html#license-text) .
|