Récupérer la partie d'une variable en batch

Esio -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'aimerais savoir comment on fais pour récupérer la partie d'une variable en batch. En gros j'essai de faire un programme qui pourrais donné des infos sur un numéro et chaque partie du numéro à son importance. Donc j'aimerais savoir si on peux pas prendre par exemple le début d'un numéro comme 07 etc
bref voici mon code:

echo off
title Info num
mode con cols=50 lines=18
cls
color b
echo Veuillez entrer votre numéro de téléphone
echo sous la forme internationnale
echo (exemple: 33 07 53 72 83 34 )
type style.txt
set /p phone= Numéro : +
echo %phone:˜0,1%
pause

if %phone:˜0,1% EQU 1 echo Pays: États-Unis/Canada
if %phone:˜0,1% EQU 1-242 echo Pays: Bahamas
if %phone:˜0,1% EQU 1-246 echo Pays: Barbade
if %phone:˜0,1% EQU 1-671 echo Pays: Guam
if %phone:˜0,1% EQU 1-684 echo Pays: Samoa américaines
if %phone:˜0,1% EQU 1-721 echo Pays: Saint-Martin
if %phone:˜0,1% EQU 1-758 echo Pays: Sainte-Lucie
if %phone:˜0,1% EQU 1-264 echo Pays: Anguilla
if %phone:˜0,1% EQU 1-268 echo Pays: Antigua-et-Barbuda
if %phone:˜0,1% EQU 1-284 echo Pays: Îles Vierges britanniques
if %phone:˜0,1% EQU 1-340 echo Pays: Îles Vierges des États-Unis
if %phone:˜0,1% EQU 1-345 echo Pays: Îles Caïmans
if %phone:˜0,1% EQU 1-441 echo Pays: Bermudes
if %phone:˜0,1% EQU 1-473 echo Pays: Grenade
if %phone:˜0,1% EQU 1-649 echo Pays: Îles Turques-et-Caïques
...
etc bref vous avez compris chaque pays a son blaz

g vu dans une video cette commande : echo %phone:˜0,1%
qui permettais apparament de ddéfinir quel caractère fallais t'il prendre

echo %phone:˜0,1%

dans ce cas ci dessus je voulais prendre les 2 premiers caractères que l'utilisateur entre car 0 = 1er caratère.

Mais cette astuce n'as pas marcher il détecte pas comme une variable
et donc dans l'invite de cmd sa met %phone:˜0,1%

j'espère trouvé une réponse merci d'avance ????

1 réponse

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Quand tu postes du code, merci d'utiliser les balises de code.

    Je ne sais pas dans quel éditeur tu tapes ton code, mais il y a un problème avec le symbole ~
    Je te suggère donc de retaper ton code directement dans le bloc-notes (notepad.exe)

    echo off
    title Info num
    mode con cols=50 lines=18
    cls
    color b
    echo Veuillez entrer votre numéro de téléphone
    echo sous la forme internationale
    echo (exemple: 33 07 53 72 83 34 )
    type style.txt
    set /p phone= Numéro : +
    echo %phone:~0,2%
    pause
    
    if %phone:~0,1% EQU 1 echo Pays: États-Unis/Canada
    if %phone:~0,5% EQU 1-242 echo Pays: Bahamas
    if %phone:~0,5% EQU 1-246 echo Pays: Barbade
    if %phone:~0,5% EQU 1-671 echo Pays: Guam
    if %phone:~0,5% EQU 1-684 echo Pays: Samoa américaines
    if %phone:~0,5% EQU 1-721 echo Pays: Saint-Martin
    if %phone:~0,5% EQU 1-758 echo Pays: Sainte-Lucie
    if %phone:~0,5% EQU 1-264 echo Pays: Anguilla
    if %phone:~0,5% EQU 1-268 echo Pays: Antigua-et-Barbuda
    if %phone:~0,5% EQU 1-284 echo Pays: Îles Vierges britanniques
    if %phone:~0,5% EQU 1-340 echo Pays: Îles Vierges des États-Unis
    if %phone:~0,5% EQU 1-345 echo Pays: Îles Caïmans
    if %phone:~0,5% EQU 1-441 echo Pays: Bermudes
    if %phone:~0,5% EQU 1-473 echo Pays: Grenade
    if %phone:~0,5% EQU 1-649 echo Pays: Îles Turques-et-Caïques


    0