Programme batsh

Fermé
hell_rider_2060 Messages postés 6 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 18 août 2016 - 16 janv. 2015 à 18:39
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 17 janv. 2015 à 02:32
Bonjour,

Bonjour, je cherche à programmer un fichier batsh (.bat) qui me permettrais de faire apparaître un texte lettres après lettres dans la console un peut comme dans les films... Cela doit donner l'impression qu'une personne est en trains de taper le texte en direct... Je ne suis pas sûr que ce soit possible alors je sollicite votre aide. Merci de votre réponse qu'elle me soit utile ou non. ;)


HellRider2060

2 réponses

dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 482
Modifié par dsy73 le 16/01/2015 à 20:15
Salut
je ne crois pas que cela soit possible en batch sans programme tiers. Regarde plutôt un langage de programmation simple.
0
hell_rider_2060 Messages postés 6 Date d'inscription samedi 23 novembre 2013 Statut Membre Dernière intervention 18 août 2016
17 janv. 2015 à 01:49
C'est bon en m'acharnant j'ai trouvé une solution c'est long mais sa fonctionne :

@echo off
Cls
echo - la première lettre de mon message -
timeout /t 0>nul
Cls
echo - les 2 premières lettre de mon message -

Etc...
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
Modifié par jordane45 le 17/01/2015 à 02:32
Bonjour,

Plus simple que de coder chaque lettre à afficher..... une boucle !

echo off & setlocal
Cls
::---------------------------------------------
:: Variable contenant le texte à afficher
SET  mytext=ceci est une phrase test
::---------------------------------------------
:: string terminator
SET strterm=___ENDOFSTRING___
:: add string terminator to input
SET tmp=%mytext%%strterm%
::---------------------------------------------
:loop
:: recup premier caractere
SET char=%tmp:~0,1%
:: Suppr premier caractere
SET tmp=%tmp:~1%
:: Affichage du caractere
ECHO %char%
:: Temporisation 1 seconde entre chaque lettres
timeout /t 1 /nobreak > NUL

:: repeat until only the string terminator is left
IF NOT "%tmp%" == "%strterm%" GOTO loop
::---------------------------------------------


Cordialement,
Jordane
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
17 janv. 2015 à 02:32
Version Texte "horizontal" :
@echo off & setlocal

:: string terminator: chose something that won't show up in the input file
SET strterm=___ENDOFSTRING___
:: read first line of input file
SET  mytext=ceci est une phrase test
:: add string terminator to input
SET tmp=%mytext%%strterm%
:loop
:: recup premier caractere
SET char=%tmp:~0,1%
:: Suppr premier caractere
SET tmp=%tmp:~1%
:: Affichage du caractere
cls
set tmp2=%tmp2%%char%
ECHO  %tmp2%
:: Temporisation 1 seconde entre chaque lettres
timeout /t 0 /nobreak > NUL

:: repeat until only the string terminator is left
IF NOT "%tmp%" == "%strterm%" GOTO loop
0