@echo off REM ============================================================ REM countlines.bat — HCIE-Rust Line Counter (Windows) REM ============================================================ setlocal enabledelayedexpansion set PROJECT_DIR=%~dp0 set OUTPUT_FILE=line_count_report.txt echo ========================================= > "%OUTPUT_FILE%" echo LINE COUNT REPORT >> "%OUTPUT_FILE%" echo Project: HCIE-Rust v4 >> "%OUTPUT_FILE%" echo Location: %PROJECT_DIR% >> "%OUTPUT_FILE%" echo Timestamp: %DATE% %TIME% >> "%OUTPUT_FILE%" echo ========================================= >> "%OUTPUT_FILE%" echo. >> "%OUTPUT_FILE%" REM === RUST FILES (.rs) === echo ----------------------------------------- echo RUST (.rs) — hcie-* directories echo ----------------------------------------- set GRAND_TOTAL_RUST=0 for /d %%d in ("%PROJECT_DIR%hcie-*") do ( set CRATE_LINES=0 for /r "%%d" %%f in (*.rs) do ( set "FPATH=%%f" echo !FPATH! | findstr /i /c:"\tests\" >nul if errorlevel 1 ( echo !FPATH! | findstr /i "test_" >nul if errorlevel 1 ( for /f "usebackq" %%c in (`find /c /v "" "%%f"`) do ( if %%c gtr 0 ( set /a CRATE_LINES+=%%c ) ) ) ) ) if !CRATE_LINES! gtr 0 ( set "CRATE_NAME=%%~nxd" echo !CRATE_NAME! !CRATE_LINES! lines set /a GRAND_TOTAL_RUST+=!CRATE_LINES! ) ) echo. echo RUST TOTAL: %GRAND_TOTAL_RUST% lines echo. REM === GRAND TOTAL === echo ========================================= >> "%OUTPUT_FILE%" echo GRAND TOTAL LINES OF CODE >> "%OUTPUT_FILE%" echo ========================================= >> "%OUTPUT_FILE%" echo Rust: %GRAND_TOTAL_RUST% >> "%OUTPUT_FILE%" echo. >> "%OUTPUT_FILE%" echo Report saved to: %CD%\%OUTPUT_FILE% echo. echo Line count report saved to: %OUTPUT_FILE%