Batch probleme de cadre

FRED92G Messages postés 417 Statut Membre -  
Pierrot-du-18 Messages postés 147 Statut Membre -
Bonjour,

j ai un probleme avec se batch j aurai besoin que son cadre s adapte en fonction de la longueur de la phase de facon a toujour avoir la bordure du cadre a la bonne longueur

@Title 
@Echo off


cd %dp0
for /f "tokens=* delims= " %%a IN ('Type "ESSAI.TXT"') do (
   Call:Message "%%~a"
)
::
pause
exit

:Message
cls
echo.
echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo.º %~1 º
echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
ping localhost -n 8 >NUL
Goto:eof


merci

1 réponse

  1. Pierrot-du-18 Messages postés 147 Statut Membre 5
     
    Tu commences par compter le nombre de caractères de ton argument 1 :

    set tmptxt=%~1
    set length=0
    :loop
    if defined tmptxt (
    set tmptxt=%tmptxt:~1%
    set /A length += 1
    goto loop


    Tu crée une variable bien grande :

    set var=ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ


    Tu la tronques :

    setlocal EnableDelayedExpansion
    set varfinale=!var:~1,%length%!


    ---------N'oublies pas le setlocal EnableDelayedExpansion--------

    Et tu finis :D

    echo.ÉÍÍ%varfinale%ÍÍ»
    echo.º  %~1  º
    echo.ÈÍÍ%varfinale%Íͼ


    Je ne l'ai pas testé, donc préviens moi si ça marche :D

    Et surtout, si tu mets tout ça dans une boucle, n'oublies pas d'écrire les variables sous la forme !x! et non %x%.
    Bonne chance!
    0