A color-enabled Windows CLI for everyday file-management tasks — built entirely in C.
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.
- Features
- Screenshots
- Requirements
- Build and Run
- Usage
- Project Structure
- Limitations
- Roadmap
- Contributing
- License
| 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 |
- 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)
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 |
- Run the executable.
- Choose an option from the numbered main menu.
- Enter the requested file or directory path — use
.to work in the current folder. - 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.
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.
- 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.
- Add automated tests for core file operations
- Cross-platform support (POSIX file APIs)
- Configurable/persistent user preferences
This started as a coursework project, but issues and pull requests — bug reports, small fixes, or feature ideas — are welcome.
Released under the MIT License.

