Skip to content

Neel2k5/Win32DirectoryPlus

Repository files navigation

Win32 Directory Plus

A multipurpose directory operations CLI tool for windows.


Features

This CLI tool written in C that uses ihe Win32 API to perform enumeration and movements of files in directories. It provides the following features:

  • Directory Organisation

    Sorts all files in a directory into sub directories of naming format "extension_Files". The files, as expected are sorted on the basis of their extensions.
    Set Limitations:
    (Filenames starting with '.' are ignored such as ".gitignore" Existing subdirectories are not traaversed for files.)

  • Token Searching

    Recursively traverses through all sub directories and files in the provided directory to find and display the ones with a specific symbolic or substring token present in their filename.
    Set Limitations:
    (Ignores directories and files with names starting with '.' such as ".git" or ",gitignore")

  • Directory Syncing

    Provides one way directory syncing for a provided source and destination directory. The syncing is as follows: -If file present in source and not destination -> Copy to destination -If sub directory present in source and not destination -> Copy to destination -If file in source has a more recent edi date than destination's version -> Replace destination's version with a copy of source's
    Set Limitations
    (If a file or directory is present in destination and not in source, it will not be traversed or checked. Ignores directories and files with names starting with '.' such as ".git" or ",gitignore" As checking and comparison happens based on filenames and dir names, changing the name in destination will lead to them being untracked.)

  • Directory Tree

    Recursively traverses through the files and sub directories in the provided directory and displays them in a tree like format.
    Set Limitations
    (Displays sub directories with names starting with '.' but does not traverse in them, such directory's example: ".git")

  • Trash Collection

    Recursively traverses through the files and sub directories in the provided directory to display and move the files older than a specified number of months in an existing or newly created "trashbin" directory in the provided directory.
    Set Limitations:
    (Ignores directories and files with names starting with '.' such as ".git" or ",gitignore")


Installation

Using without modification

Ensure you have the following installed on your system:

  • Git (for cloning the repository)
  • Windows Operating System (The exe was tested on Windows 10)

Cloning the Repository

  1. Open your terminal or command prompt.

  2. Navigate to the directory where you want to clone the project.

  3. Run the following command to clone the repository:

    git clone https://github.com/Neel2k5/Win32DirectoryPlus.git
  4. Navigate into the project's executable directory:

    cd repository\executable
  5. This directory contains the executable file 'wdp.exe' along with the user guide 'ug_wdp.txt'. These two files must be kept in the same directory for effective usage. You may set your enviornment variable path to this directory or copy these two files in some other directory and use the respective path.

  6. Open Command Prompt and run the following commands to get started:

    wdp help
    wdp

For Modification and usage

Additional Requirement:

  • MinGW(Or any other c compiler set up on your machine)

After Following upto step 4 above, you now have acess to the source files. Here is how they are structured:

  • input_reader.c : Contains the main for taking and processing cli inputs and calling respective header functions.
  • feature_funcs.c : Contains the core features of the tool, functions are prototyped in feature_funcs.h
  • gen_purp_funcs.c : Contains the genral functions that are used by the core feature functions of the tool, functions are prototyped in gen_purp_funcs.h

After making necessary changes to source, compile the three files:

gcc input_reader.c feature_funcs.c gen_purp_funcs.c -o wdp

NOTE: The 'wdp help' command will not execute if the "ug_wdp.txt" is not present with it in the same directory. Also to display newly made features in user guide, the text file must be edited.

Contributions

Sorry we do not support contributions yet!! COMING SOON

License

This project is licensed under the Apache License 2.0.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages