Sign in
    PythonPython·Basic

    Bulk File Organizer

    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

    • File system navigation and manipulation (`os`, `pathlib`).
    • Working with loops and conditional logic.
    • Handling file I/O operations (moving files).
    • Creating and managing directories.
    • Building command-line interfaces with `argparse`.

    Roadmap

    8 steps · 68 tasks
    1. ○
    2. ○
    3. ○
    4. ○
    5. ○
    6. ○
    7. ○
    8. ○
    Sign in to start

    Project facts

    Level
    Basic
    Track
    Python
    Steps
    8
    Tasks
    68
    Learners
    +166169
    Sign in to start