Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗂️ File Management System

A color-enabled Windows CLI for everyday file-management tasks — built entirely in C.

Language Platform Build License


Overview

File Management System is a terminal-based application that brings common file and directory operations — creation, editing, copying, moving, searching, inspection, and a lightweight XOR-based file transformation — into a single, numbered, color-coded menu.

Originally started as a Semester 1 project for CS-303: Programming Fundamentals, it was built with an emphasis on clean C, direct use of the Windows API, and a genuinely usable interface rather than a bare proof-of-concept.

Table of Contents

Features

Category Capabilities
File Basics Create, write to, and read text files
Advanced File Operations Copy, move, rename, and delete files
File Inspection View file size, and created / modified / accessed timestamps
Directory Tools List folders and files in a directory (with file sizes)
Search Case-insensitive search for files or folders by name
CV Generator Produce a plain-text CV from details entered interactively
XOR Transform Password-based XOR transformation on a file; re-applying the same password reverses it

Screenshots

Main menu

Main menu

File creation confirmation

Successful file creation

Requirements

  • Windows 10 or later
  • A C compiler with Windows support — MinGW-w64 GCC is recommended
  • A terminal with ANSI escape-sequence support (Windows Terminal recommended)

Build and Run

From the project root, in PowerShell:

New-Item -ItemType Directory -Force bin
gcc -Wall -Wextra -std=c11 src/main.c -o bin/file-management-system.exe
.\bin\file-management-system.exe
Step What it does
New-Item ... Creates the local bin/ output directory if it doesn't already exist
gcc ... Compiles src/main.c with all warnings enabled, targeting the C11 standard
.\bin\...exe Launches the application

Usage

  1. Run the executable.
  2. Choose an option from the numbered main menu.
  3. Enter the requested file or directory path — use . to work in the current folder.
  4. Follow the on-screen prompts; press Enter after an operation to return to the menu.

⚠️ Caution Creating a file, copying a file, generating a CV, or applying XOR to an existing destination path will overwrite its contents. Move and delete operations are also irreversible within the application. Work on copies of important files while testing.

Project Structure

FILE-MANAGEMENT-SYSTEM/
├── src/
│   └── main.c                 # Application source code
├── docs/
│   ├── PROJECT_STRUCTURE.md   # Project notes and conventions
│   └── screenshots/           # README screenshots
├── bin/                       # Local build output (not committed)
├── .gitignore
├── LICENSE
└── README.md

For more detail on layout and conventions, see docs/PROJECT_STRUCTURE.md.

Limitations

  • Designed for Windows only; directory operations rely on the Windows API.
  • The XOR feature is a learning exercise, not secure encryption — never use it to protect confidential data.
  • Automated tests have not yet been added.

Roadmap

  • Add automated tests for core file operations
  • Cross-platform support (POSIX file APIs)
  • Configurable/persistent user preferences

Contributing

This started as a coursework project, but issues and pull requests — bug reports, small fixes, or feature ideas — are welcome.

License

Released under the MIT License.

About

A Windows-based C terminal application for secure and efficient file management.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages