Adam Skotarczak 6be96064db
v1.1.0
- Merge branch 'feature/max'
2025-05-14 22:36:49 +02:00
2025-05-14 21:03:39 +02:00
2025-05-09 22:46:31 +02:00
2025-05-14 21:03:39 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 21:03:39 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 21:03:39 +02:00
2025-05-09 22:46:31 +02:00
2025-05-09 22:46:31 +02:00
2025-05-14 21:03:39 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 21:03:39 +02:00
2025-05-14 21:03:39 +02:00
2025-05-09 22:46:31 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 22:34:13 +02:00
2025-05-14 22:34:13 +02:00

⚙️ CLI-Template für C (MSVC)

TreeScanner-Logo

Ein leichtgewichtiges C-Projekttemplate für die Kommandozeile unter Windows, vorbereitet für den Microsoft Visual C Compiler (MSVC).

Inhalt


Features

  • Rekursive Verzeichnissuche mit Unicode-Symbolen (📁 📄)
  • Optionale Tiefenbegrenzung via --depth N
  • Limitierung der Dateiausgabe pro Verzeichnis via --limit N
  • Unicode-fähige Konsolenausgabe auf Windows (SetConsoleOutputCP)
  • Debugging vorbereitet via launch.json (VS Code)
  • Sauber modularisierter Code (main + Module + Config)
  • MSVC-kompatibles Buildsystem (cl.exe + rc.exe + link.exe)
  • Unterstützt Makefile + Makefile.config für Debug/Release


Struktur

Alle notwendigen Verzeichnisse und Dateien wurden mit markiert, diese sind unverzichtbar für den Buildprozess.
markiert alles, was optional ist oder ignoriert werden kann.

📁 treescanner
  📁 .vscode                  # ❌ VS Code-Konfiguration (Debug, Build, Editor-Style)
    📄 launch.json            # ❌ Debug-Konfiguration (z.B. scanner.exe + Breakpoints)
    📄 tasks.json             # ❌ Build-Task für Make unter Windows
  📁 build                    # ✅ Buildverzeichnis
    📁 output                 # ✅ Kompilierte .exe und .obj-Dateien
  📁 include                  # ✅ Header-Dateien
    📄 app.h                  # ✅ Schnittstelle für scan_directory()
    📄 scanner_config.h       # ✅ Konfiguration für Tiefen-/Limitsteuerung
  📁 resources                # ✅ Ressourcen wie version.rc
    📄 version.rc             # ✅ Icon- und Versionsdefinition
  📁 src                      # ✅ Quellcode (.c-Dateien)
    📄 main.c                 # ✅ Einstiegspunkt mit Argumentverarbeitung
    📄 app.c                  # ✅ rekursiver Verzeichnisscan (Windows API)
    📄 scanner_config.c       # ✅ Initialisierung und Verwaltung der Konfiguration
  📄 build.cmd                # ✅ Buildskript (ruft `vcvars64.bat` und `make` auf)
  📄 clean.cmd                # ✅ Löscht `/build/output` + ggf. `.pdb`
  📄 README.md                # ❌ Diese Datei
  📄 .gitignore               # ❌ Ignoriert z.B. *.obj, *.pdb, /build/


Voraussetzungen

Compiler (MSVC)

Make (empfohlen: MSYS2)

  • make aus MSYS2 installieren: pacman -S make


Nutzung

Build

build.cmd

→ erzeugt build/output/scanner.exe

Optionen

scanner.exe [verzeichnis] [--depth N] [--limit N]

Beispiele:

scanner.exe
scanner.exe "D:\Projekte" --depth 3
scanner.exe . --limit 5


Dokumentation


Plattformhinweis

Aktuell ausschließlich für Windows (MSVC / WinAPI) vorgesehen.
POSIX-Implementierung (opendir, readdir) ist vorbereitet aber nicht aktiv.


Geplante Features

Funktion / Option Beschreibung Status
--depth N Maximale Verzeichnistiefe Fertig
--limit N Max. Dateien pro Verzeichnis Fertig
--ignore DIR Verzeichnisse ausschließen Geplant
--output FILE Ausgabedatei (Standard: tree.md) mit plaintext-Block Geplant
ASCII-Baumstruktur (├──) grafische Darstellung mit Baumzeichen → Standardmäßig aktiv Geplant
--no-tree-symbols Option zum Deaktivieren der Baumzeichensymbole Geplant
--console explizite Konsolenausgabe einschalten Geplant
--align-comments Ausrichtung von Kommentaren in Spalte Geplant
--language de/en Sprache der Ausgaben und Zusammenfassung Geplant
Scan-Zusammenfassung Ausgabe: 📦 23 Dateien in 5 Ordnern, ggf. mit Pfad Geplant
Fortschrittsanzeige Zeitgesteuerte Live-Ausgabe Optional
POSIX-Kompatibilität Unterstützung für Linux (opendir, readdir) Vorbereitet
Symbol-Set anpassbar Benutzerdefinierte Icons (📁, 📄 etc.) Optional
Laufzeit erfassen Zu Benchmarkzwecken Durchlaufzeit erfassen von Start bis Ende Fertig


Lizenz

MIT siehe Datei LICENSE


Description
treeScanner C-Port für Windows
Readme MIT 2.9 MiB
v1.1.0 Latest
2025-05-14 22:45:19 +02:00
Languages
C 72.8%
Makefile 18.4%
Batchfile 8.8%