Skip to content

Romaric250/organiseme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Organize your files in a single click

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published