IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FAQs Windows Discussion :

[ASTUCES] fonctions utiles pour des chaînes de caractères [Fait]


Sujet :

FAQs Windows

  1. #1
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut [ASTUCES] fonctions utiles pour des chaînes de caractères
    salut,

    voici quelques fonctions pour traiter les chaînes de caractères:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    @echo off & setlocal enabledelayedexpansion enableextensions
    
    set "str=%*"
    if not defined str (set /p str=Entrez une chaine: %)
    echo.
    
    call :length  "%str%"
    call :count   "%str%"
    call :reverse "%str%"
    call :ucase   "%str%"
    call :2hexa   "%str%"
    
    set length
    set [
    set reverse
    set ucase
    set hexa
    
    pause
    endlocal & goto:eof
    
    :length
    for /f "tokens=1* delims=][" %%a in ('
      "%comspec% /u /c echo:%~1|more|find /n /v """
     ') do Set /A "length=%%a-4"
    goto:eof
    
    :count
    for /f %%: in ('
      "%comspec% /u /c echo:%~1|more|sort"
     ') do Set /A "[%%:]+=1"
    goto:eof
    
    :reverse
    for /f "tokens=1* delims=:" %%a in ('
        "%comspec% /u /c echo:%~1|more|findstr /o ."
     ') do Set "reverse=%%b!reverse!"
    goto:eof
    
    :ucase
    for /f "tokens=1* delims=µ" %%a in ('
          "tree \µµµ%1|find ":\""
     ') do Set "ucase=%%b"
    goto:eof
    
    :2hexa
    <nul>$asc$ set/p"=%~1"
    for /l %%i in (1 1 %length%) do <nul>>$hex$ set/p"=µ"
    for /f "skip=1 tokens=3" %%i in ('
         fc /b $hex$ $asc$
     ') do Set "hexa=!hexa!%%i-"
    set "hexa=%hexa:~0,-1%" & del $asc$ $hex$
    goto:eof
    fonction Length: affiche le nombre de caractères saisie

    fonction count: compte le nombre de lettre dans la chaine

    fonction reverse: inverse la chaine

    fonction ucase: transforme la chaîne en majuscule

    fonction hexa: affiche la valeur hexadecimal de chaque lettre

  2. #2
    Membre averti

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Points : 382
    Points
    382
    Billets dans le blog
    1
    Par défaut
    Excellent, cela devrait être ajouter dans la FAQ.

Discussions similaires

  1. [Batch] Fonctions utiles pour des chaînes de caractères
    Par I'm_HERE dans le forum Scripts/Batch
    Réponses: 17
    Dernier message: 24/08/2015, 15h42
  2. Réponses: 0
    Dernier message: 11/03/2014, 18h35
  3. Réponses: 2
    Dernier message: 03/02/2014, 02h25
  4. Réponses: 2
    Dernier message: 11/10/2007, 17h36
  5. Réponses: 5
    Dernier message: 15/02/2005, 18h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo