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

Fermé
Esio - 30 déc. 2020 à 12:37
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 30 déc. 2020 à 13:40
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 ????
A voir également:

1 réponse

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 906
Modifié le 30 déc. 2020 à 14:00
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