Batch probleme de cadre

Fermé
FRED92G Messages postés 290 Date d'inscription jeudi 24 mai 2012 Statut Membre Dernière intervention 20 août 2022 - 23 mai 2013 à 14:24
Pierrot-du-18 Messages postés 133 Date d'inscription vendredi 28 décembre 2012 Statut Membre Dernière intervention 8 mai 2014 - 25 juin 2013 à 17:40
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
A voir également:

1 réponse

Pierrot-du-18 Messages postés 133 Date d'inscription vendredi 28 décembre 2012 Statut Membre Dernière intervention 8 mai 2014 4
Modifié par Pierrot-du-18 le 25/06/2013 à 17:42
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