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")
Ensure you have the following installed on your system:
- Git (for cloning the repository)
- Windows Operating System (The exe was tested on Windows 10)
-
Open your terminal or command prompt.
-
Navigate to the directory where you want to clone the project.
-
Run the following command to clone the repository:
git clone https://github.com/Neel2k5/Win32DirectoryPlus.git
-
Navigate into the project's executable directory:
cd repository\executable
-
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.
-
Open Command Prompt and run the following commands to get started:
wdp help
wdp
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.
Sorry we do not support contributions yet!! COMING SOON
This project is licensed under the Apache License 2.0.