Bonjour,
Je souhaite améliorer mon petit script, il compte le nombre de ligne de mes fichier, actuellement je passe en variable chaque fichier et je compte.
mais je souhaiterai que le script analyse le dossier et me compte automatiquement le nombre de ligne de tous mes fichier *.c et *.h , sans avoir a indiquer le chemin de chaque fichier ...
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
@for %%n in (%0) do set racine=%%~dpn
set affichage=%racine%affichage.c
set destruction=%racine%destruction.c
set event=%racine%event.c
set init=%racine%init.c
set main=%racine%main.c
set menu=%racine%menu.c
set pilotage=%racine%pilotage.c
set reseau=%racine%reseau.c
set thread_1=%racine%thread_1.c
set prototype=%racine%prototype.h
set /a compt_affichage=0
set /a compt_destruction=0
set /a compt_event=0
set /a compt_init=0
set /a compt_main=0
set /a compt_menu=0
set /a compt_pilotage=0
set /a compt_reseau=0
set /a compt_thread_1=0
set /a compt_prototype=0
:main
cls
for /f "delims=" %%i in ('type "!affichage!"') do set /a compt_affichage+=1
for /f "delims=" %%i in ('type "!destruction!"') do set /a compt_destruction+=1
for /f "delims=" %%i in ('type "!event!"') do set /a compt_event+=1
for /f "delims=" %%i in ('type "!init!"') do set /a compt_init+=1
for /f "delims=" %%i in ('type "!main!"') do set /a compt_main+=1
for /f "delims=" %%i in ('type "!menu!"') do set /a compt_menu+=1
for /f "delims=" %%i in ('type "!pilotage!"') do set /a compt_pilotage+=1
for /f "delims=" %%i in ('type "!reseau!"') do set /a compt_reseau+=1
for /f "delims=" %%i in ('type "!thread_1!"') do set /a compt_thread_1+=1
for /f "delims=" %%i in ('type "!prototype!"') do set /a compt_prototype+=1
set /a total_ligne =!compt_affichage!+!compt_destruction!+!compt_event!+!compt_init!+!compt_main!+!compt_menu!+!compt_pilotage!+!compt_reseau!+!compt_thread_1!+!compt_prototype!
cls
echo affichage !compt_affichage!
echo destruction !compt_destruction!
echo event !compt_event!
echo init !compt_init!
echo main !compt_main!
echo menu !compt_menu!
echo pilotage !compt_pilotage!
echo reseau !compt_reseau!
echo thread_1 !compt_thread_1!
echo prototype !compt_prototype!
echo.
echo ligne=!total_ligne!
pause
:fin
endlocal
exit
MERCIIIIIIIIIIIIIII (je reflechie ç une solce en meme temps que j'attends une reponse ^^)
A voir également:
BATCH: Compter le nombre de ligne de plusieur fichier
Il sert juste a recupere le chemin ?