Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Help !!! Comment savoir le nombre de lettre ?
Auteur Message
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Salut a tous !

Est ce quelqu'un saurait comment faire pour savoir le nombre de lettres dans une variable car je conçois un explorateur de fichier avancé et j'ai vraiment besoin de cette fonctionnalité.
J'espère que vous pourrez m'aider Very Happy

Cordialement, Fokker974




______________________________________________________
Fokker974 The batcher
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Tous simplement ceci :

Code:
@echo off

title Test
setlocal enabledelayedexpansion


:START
cls

:: ## VARIABLE
set /a longueur_test = 0
set /p "mot=Saisissez un mot : "
:: ## VARIABLE


:: #Test
if not "%mot%"=="" goto :strlboucle
echo.   Error 1 : Veuillez saisir un mot s'il vous plaît !
echo.
pause
:: #Test


:: ##### Start
:strlboucle
set /a longueur_test += 1
for /l %%b in (0,1,!longueur_test!) do set nb_longueur_test=!mot:~0,%%b!
if not "!nb_longueur_test!"=="!mot!" goto :strlboucle
set "longueur=!longueur_test!"
:: ##### End



:: #### Result
echo.Le mot "!mot!" contient !longueur! lettres ^!
echo.

set /p "msg=Appuyez sur n'importe quel touche pour recommencer le programme..." < nul
pause>nul
goto :START
:: #### End Result - RELOAD


Extrait les morceaux qui te sont utiles et ensuite adapte tous ça sur ton explorateur Mr. Green Okay




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Ou alors il y a tout simplement ça :

Code:

call :length "%variableOuMot%"
echo;%errorlevel%
pause

:length
for /f "tokens=1* delims=[]" %%a in ('
  "%comspec% /u /c echo:%~1|more|find /n /v """
 ') do set /a "length=%%a-4"
exit /b %length%


C'est optimisé et court Okay




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Citation:

C'est optimisé et court Okay


Mais c'est lent..........

c'est plus rapide comme ça :

Code:

@echo off
setlocal enabledelayedexpansion
Set /P $Tstring=Entrez une chaine de caractere:

for /l %%a in (0,1,9000) do (
  set $t=!$Tstring:~%%a,1!
  if not defined $t (
     echo [Nb carctere =] %%a
     exit /b
  )
)


ou comme ça (je met cette solution juste pour montrer la méthode, vu que l'on crée un fichier temporaire):

Code:
@echo off
Set /P $Tstring=Entrez une chaine de caractere:
echo %$Tstring%>x
FOR %%z IN (x) DO (set /a $stl=%%~zz-2
del x
echo [LONGEUR =] %$stl%)


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
sachadee a écrit:
Code:
@echo off
Set /P $Tstring=Entrez une chaine de caractere:
echo %$Tstring%>x
FOR %%z IN (x) DO set /a $stl=%%~zz-2
del x
echo LONGEUR = %$stl%
Ce code marchera mais pourra poser soucis sur les UNIXs (avec Dos9), une variantes qui marchera sans soucis (sur les deux, DOS-Like comme UNIX-Like)

set /p hack (de la même façon que Shaxa(V2))
Code:
@echo off
Set /P $Tstring=Entrez une chaine de caractere:
set /p "=%$Tstring%"<nul>x
FOR %%z IN (x) DO set $stl=%%~zz
del x
echo LONGEUR = %$stl%





______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Citation:

set /p hack (de la même façon que Shaxa(V2))

Code:
    @echo off
    Set /P $Tstring=Entrez une chaine de caractere:
    set /p "=%$Tstring%"<nul>x
    FOR %%z IN (x) DO set $stl=%%~zz
    del x
    echo LONGEUR = %$stl%



Dans ce cas élimine complètement le set /p "problématique" :

Code:

    @echo off
    Set /P $Tstring=Entrez une chaine de caractere:
    echo.%$Tstring%>x
    FOR %%z IN (x) DO set $stl=%%~zz
    del x
    echo LONGEUR = %$stl%


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
sachadee a écrit:
Citation:

set /p hack (de la même façon que Shaxa(V2))

Code:
    @echo off
    Set /P $Tstring=Entrez une chaine de caractere:
    set /p "=%$Tstring%"<nul>x
    FOR %%z IN (x) DO set $stl=%%~zz
    del x
    echo LONGEUR = %$stl%



Dans ce cas élimine complètement le set /p "problématique" :

Code:

    @echo off
    Set /P $Tstring=Entrez une chaine de caractere:
    echo.%$Tstring%>x
    FOR %%z IN (x) DO set $stl=%%~zz
    del x
    echo LONGEUR = %$stl%


Okay
Non, ça ne change pas le soucis.
Echo termine le fichier par la fin de ligne du noyau (ex de noyaux : Microsoft NT, GNU/Linux, NetBSD, Darwin etc.).
Ces fins de lignes sont différentes en terme de taille :
- DOS: CR LF (2)
- UNIX: LF (1)

Voila une petite liste de type de fin de ligne en fonction de l'OS.
DOS: Windows, ReactOS, FreeDOS, etc.
UNIX: Linux, Darwin, NetBSD, FreeBSD, Minix etc.

Ce qui donne une taille différente.

Car le fichier sous Windows ressemblera à ça :
Code:
Le texte[CR][LF]
Et sous un UNIX-Like
Code:
Le texte[LF]
Donc une différence notable de 1.

Mon hack avec set /p n'ajoute pas de fin ligne (donc pas de CR LF ou LF) ce qui donne la même taille peu importe le noyau.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message Help !!! Comment savoir le nombre de lettre ? 
Hello fokker.
Tu pourrais utiliser le code de Batfex (de @Tsnake41) et essayer de l'adapter pour CMDmenuSel déjà intégré sur BU OS.
Si tu veux,je peux faire le file explorer à ta place.
Ah,je viens de faire l'alpha 5.1,publiée sur le site mais le lien de téléchargement est pour le moment mort (et c'est normal).
J'ai réduit de plus d'environ 1Mo le code source et tout le reste.
Visite la page de Batch United OS pour plus d'infos.
à bientôt




______________________________________________________
LT-S Batch explorer :Un explorateur en Batch
ConsoleINI : utilisez des fichiers INI dans vos Batch
Epileptic : un mini jeu de rapidité
Faites parler votre téléphone avec mon app android
Mon site pour voir tout mes autres programmes
Visiter le site web du posteur Skype
Message Help !!! Comment savoir le nombre de lettre ? 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch