Skip to content

Latest commit

 

History

History
113 lines (77 loc) · 2.68 KB

README.md

File metadata and controls

113 lines (77 loc) · 2.68 KB

File Organiser

File Organiser is a Node.js-based utility to organize files in a specified directory by their extensions. It creates folders for each file type (based on extension) and moves the files into their respective folders.

Features

  • Organizes files in a directory by file type.
  • Automatically creates folders for each file type.
  • Moves files into their corresponding folders.
  • Handles errors gracefully.

Installation

  1. Ensure you have Node.js installed on your system.

  2. Clone or download this repository.

  3. Navigate to the project directory:

    cd node-file-organiser
  4. Install dependencies if required (none specified in this implementation).

Usage

  1. copy the path form the directory you want to organize:

    e.g = "C:\\Users\\YourUsername\\Documents"; 
  2. Run the script using Node.js and enter the path you copied:

    node index.js

    or

    npm i organiseme
    
    npx organiseme
    
  3. The script will create folders for each file extension and move the corresponding files into them. For example:

    Documents/
    ├── txt-files/
    │   └── example.txt
    ├── js-files/
        └── script.js
    

Code Overview

Key Components

  1. Directory Reading: The script reads the contents of the specified directory:

    const data = fs.readdirSync(path);
  2. File Sorting: Files are categorized by their extensions:

    const splitfile = file.split('.');
    const doesextensionexist = Object.keys(dirdata).find((extension) => extension === `${splitfile[1]}`);
  3. Folder Creation: Folders are created dynamically for each file type:

    fs.mkdir(`${path}/${ext[0]}-files`, { recursive: true });
  4. File Moving: Files are moved into their respective folders:

    fs.renameSync(filepath, targetpath);

Error Handling

  • Errors during directory reading, folder creation, or file movement are logged to the console:

    if (error) {
        console.log(error.message);
    }

Notes

  • The script only processes files and ignores directories.
  • Files without extensions are skipped.
  • Ensure you have proper permissions to read, write, and move files in the target directory.
  • Backup your data before running the script to avoid accidental file loss.

Contributing

Contributions are welcome! Feel free to submit a pull request or open an issue to suggest improvements or report bugs.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Happy organizing! Romaric250