A command-line script that organizes files in a specified directory into subdirectories based on their file type (e.g., moving all .jpg and .png files into an 'Images' folder, .pdf into 'Documents', etc.). It's a practical tool for decluttering folders like your 'Downloads' directory.
What you'll build
This project involves building a powerful command-line utility, the 'Bulk File Organizer', using Python. The core function of this tool is to scan a specified directory (like your cluttered 'Downloads' folder) and intelligently organize all files into subdirectories based on their type. For example, all '.jpg' and '.png' files will be moved to an 'Images' folder, '.pdf' and '.docx' to 'Documents', '.mp4' to 'Videos', and so on.
This project is designed to be more than a simple script; it's a portfolio-grade application. You will start with the basic functionality and progressively add advanced features that are common in professional software development. These enhancements include: creating a robust command-line interface (CLI) for user interaction, implementing a logging system to track all file operations, handling potential errors gracefully (like file name conflicts), allowing users to customize the organization rules via an external configuration file, and providing a 'dry-run' mode to preview changes before they are made. By the end, you will have a practical and distributable tool that demonstrates a strong command of Python for system automation.
What you'll learn
Roadmap
8 steps · 68 tasks