Organizes files in folders and helps you to clean your PC
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Organizes the files based on their extensions in folders.
If you run the script in a directory containing hundreds of files of multiple filetypes, the script will arrange all of them in different directories based on the file type. For example, all PDFs are arranged in a directory for PDFs, all document based files (docx, doc, xlsx, pptx etc) are moved to the docs directory.
All these files are moved to a directory named ArrangedPy in the directory on which the script was executed. So if you ran the script on your Downloads directory, a directory named ArrangedPy will be created in Downloads.
You can specify which files to move to which directory using the config.ini file.
- Read about it on my blog
Currently it has 2 modes
- Easy mode: Organzises files in the current directory
- Hard mode: Organizes files in the current directory and its subdirectories
- Python
- and some dedication by the awesome contributors
Follow the given steps to get started with ArrangePy
You should have Python installed on your system. You can move to Installation if you have it, otherwise continue with the next steps.
- Install Python from python.org
- Make sure to add Python to PATH if you are on Windows
- To check that Python has been installed on your PC, open Command Prompt or Terminal and type in following command
python --version
This should output Python 3.x.x
where x.x is the version of your Python installation.
Note: If that does not work, try python3 --version
or py --version
In the next part of the readme, python
will be used, change it with the command that works for your PC
-
Open command prompt/terminal and type the following command
pip install arrangepy
or
pip3 install arrangepy
depending on the version.
It will install ArrangePy and the required packages.
-
To confirm that ArrangePy has been installed successfully, type the following command in terminal
arrange -h
It should show you a message on how to use it.
- Clone the ArrangePy
git clone https://github.com/prashantsengar/ArrangePy
- Change to the project directory
cd ArrangePy
- Install requirements
pip install -r requirements.txt
- Run ArrangePy
python -m arrangepy
For the usage examples, replace arrange
with python -m arrangepy
usage: arrange [-h] [-w | -s | -b] [-nw] [directory]
positional arguments:
directory The directory to arrange, default is current working directory
optional arguments:
-h, --help show this help message and exit
-w, --weak Weak arrange
-s, --strong Strong arrange
-b, --web Run web GUI
-nw, --no-warning Don't show any warnings when running strong arrange
Examples
arrange
(Arranges current directory, asks for type of arrange [WEAK/STRONG] )arrange -w
(Weak arranges current directory)arrange -w PATH/TO/DIRECTORY
(Weak arranges given directory)arrange -s -nw PATH/TO/DIRECTORY
(Strong arranges given directory without any warning)
arrange -b
# for the web interface
You can edit the config.ini file to change how the directories are created. Say the initial configuration is this:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico'],
This will move all PDF files to a directory named PDF and all images of mentioned extensions to a directory named Images.
(say .eps) to the Images directory, add the new extension to the Images list. So it will change to:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
Say you want to move all the video files along with PDFs and images. You can do that in this way:
[ext]
PDF=['pdf'],
Images=['png','jpeg','jpg','gif', 'tiff', 'psd', 'ico', 'eps'],
Videos=['mp4','mkv','avi','3gp'],
Now it will arrange all mp4, mkv, avi, 3gp files to the Videos directory.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
You can contribue to this project using multiple ways. Here are a few things that you can work on
- Improve this README to explain the idea better. GIFs can be added, for example.
- Adding extensions to the config.ini file will improve the experience for everyone.
- Improve the code, add new features or fix issues.
Please read the contribution guide
Read the contributing guide
Join the Telegram group for support and contributing. If you want to contribute, joining the group helps us all a lot because you can get instant feedback.
Distributed under the MIT License. See LICENSE
for more information.
Prashant Sengar - @prashanttgs - contact--AT--prashants.in
Project Link: https://github.com/prashantsengar/ArrangePy