[Batch]Operation sur adresse IP
Résolu/Fermé
juroks
Messages postés
197
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
9 mai 2022
-
31 mars 2009 à 12:20
manelsousse Messages postés 59 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 18 août 2009 - 16 juin 2009 à 17:43
manelsousse Messages postés 59 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 18 août 2009 - 16 juin 2009 à 17:43
A voir également:
- [Batch]Operation sur adresse IP
- Ethernet n'a pas de configuration ip valide - Guide
- Comment connaître son adresse ip - Guide
- Darkino nouvelle adresse - Guide
- Rechercher ou entrer l'adresse - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
9 réponses
Xavstarblues
Messages postés
10019
Date d'inscription
mercredi 22 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2019
1 853
31 mars 2009 à 12:47
31 mars 2009 à 12:47
ok, je sais pas si il y a moyen de faire plus propre mais je passe par un fichier temporaire (qui est supprimé après.
@echo off
cls
echo Saissir l'adresse IP
set /p IP=
echo %IP% >c:\temp.txt
for /f "tokens=1,2,3,4 delims=." %%i in (c:\temp.txt) do set IP1=%%i& set IP2=%%j& set IP3=%%k& set IP4=%%l
echo IP1=%IP1%
echo IP2=%IP2%
echo IP3=%IP3%
echo IP4=%IP4%
del c:\temp.txt
pause
@echo off
cls
echo Saissir l'adresse IP
set /p IP=
echo %IP% >c:\temp.txt
for /f "tokens=1,2,3,4 delims=." %%i in (c:\temp.txt) do set IP1=%%i& set IP2=%%j& set IP3=%%k& set IP4=%%l
echo IP1=%IP1%
echo IP2=%IP2%
echo IP3=%IP3%
echo IP4=%IP4%
del c:\temp.txt
pause
Xavstarblues
Messages postés
10019
Date d'inscription
mercredi 22 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2019
1 853
31 mars 2009 à 12:30
31 mars 2009 à 12:30
bonjour
insere ca (apres set /p IP=)
for /f "tokens=1,2,3,4 delims=." %%i in %IP% do set IP1=%%i& set IP2=%%j& set IP3=%%k& set IP4=%%l
(pour etre sur que ca marche tu peux ajouter ca)
echo %IP1
echo %IP2
echo %IP3
echo %IP4
pause
EDIT; je viens de tester, il plante... je regarde ca
insere ca (apres set /p IP=)
for /f "tokens=1,2,3,4 delims=." %%i in %IP% do set IP1=%%i& set IP2=%%j& set IP3=%%k& set IP4=%%l
(pour etre sur que ca marche tu peux ajouter ca)
echo %IP1
echo %IP2
echo %IP3
echo %IP4
pause
EDIT; je viens de tester, il plante... je regarde ca
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
31 mars 2009 à 13:16
31 mars 2009 à 13:16
on peut faire comme ça avec une variable:
for /f "usebackq delims=. tokens=1,2,3,4" %%i in (`echo %IP%`) do ( set IP1=....
for /f "usebackq delims=. tokens=1,2,3,4" %%i in (`echo %IP%`) do ( set IP1=....
juroks
Messages postés
197
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
9 mai 2022
7
31 mars 2009 à 13:37
31 mars 2009 à 13:37
Merci merci
j'ai repris ton code Xavstarblues et juste au lieu de faire c:\temp.txt je fais temp.txt ce qui me permet le mettre dans le dossier ou se trouve mon script.
donc beau boulot sa m'aide vraiment pour la suite !
je fais mon script de collecte SNMP et je suis en phase optimisation !
merci encore !
j'ai repris ton code Xavstarblues et juste au lieu de faire c:\temp.txt je fais temp.txt ce qui me permet le mettre dans le dossier ou se trouve mon script.
donc beau boulot sa m'aide vraiment pour la suite !
je fais mon script de collecte SNMP et je suis en phase optimisation !
merci encore !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Xavstarblues
Messages postés
10019
Date d'inscription
mercredi 22 août 2007
Statut
Contributeur
Dernière intervention
28 décembre 2019
1 853
31 mars 2009 à 13:56
31 mars 2009 à 13:56
De rien.
Bonjour
Le premier script comporte 2 erreurs
1/ Il ne faut pas utiliser IP comme variable car c'est une commande !
2/ Il faut mettre la variable entre guillemets et parenthèses
Donc l'utilisation d'un fichier temp.txt comme dans le second sript est inutile.
Voici le script corrigé qui fonctionne :
Le premier script comporte 2 erreurs
1/ Il ne faut pas utiliser IP comme variable car c'est une commande !
2/ Il faut mettre la variable entre guillemets et parenthèses
Donc l'utilisation d'un fichier temp.txt comme dans le second sript est inutile.
Voici le script corrigé qui fonctionne :
@echo off cls setlocal EnableDelayedExpansion :: Exemple Si IP= 192.168.0.11 :: Il ne faut pas utiliser IP comme variable :: c'est une commande ! echo Saisir l'adresse IP set /p var= FOR /f "tokens=1,2,3,4 delims=." %%a in ("%var%") DO SET IP1=%%a&SET IP2=%%b&SET IP3=%%c&SET IP4=%%d :: Si la variable est definie l'afficher à l'écran If defined IP1 (echo L'IP 1 est : %IP1%) If defined IP2 (echo L'IP 2 est : %IP2%) If defined IP3 (echo L'IP 3 est : %IP3%) If defined IP4 (echo L'IP 4 est : %IP4%) pause endlocal
manelsousse
Messages postés
59
Date d'inscription
lundi 10 mars 2008
Statut
Membre
Dernière intervention
18 août 2009
16 juin 2009 à 17:06
16 juin 2009 à 17:06
pour extraire les quatre IP appel la fonction explode comme ci
$variable=explode(".",$adresseip)
le point c'est le seperateur et $adresseip est votre adresse 125.92.92.11 ensuite pour l'affichage ecrivez :
echo $variable[0];
echo $variable[1];
echo $variable[2];
echo $variable[3];
$variable=explode(".",$adresseip)
le point c'est le seperateur et $adresseip est votre adresse 125.92.92.11 ensuite pour l'affichage ecrivez :
echo $variable[0];
echo $variable[1];
echo $variable[2];
echo $variable[3];
Bonjour Mr manelsousse
Expode qui vient du PHP ne fonctionne en fichier batch .
Je rectifie mon premier message qui à une erreur de tabulation dans la commande for:
Expode qui vient du PHP ne fonctionne en fichier batch .
Je rectifie mon premier message qui à une erreur de tabulation dans la commande for:
@echo off cls setlocal EnableDelayedExpansion :: Exemple Si IP= 192.168.0.11 :: Il ne faut pas utiliser IP comme variable :: c'est une commande ! echo Saisir l'adresse IP set /p var= FOR /f "tokens=1,2,3,4 delims=." %%a in ("%var%") DO SET IP1=%%a&SET IP2=%%b&SETIP3=%%c&SET IP4=%%d If defined IP1 (echo L'IP 1 est : %IP1%) If defined IP2 (echo L'IP 2 est : %IP2%) If defined IP3 (echo L'IP 3 est : %IP3%) If defined IP4 (echo L'IP 4 est : %IP4%) pause endlocal
manelsousse
Messages postés
59
Date d'inscription
lundi 10 mars 2008
Statut
Membre
Dernière intervention
18 août 2009
16 juin 2009 à 17:43
16 juin 2009 à 17:43
je connais pas sur batch mais cette solution je l'etulise en php
31 mars 2009 à 12:49
31 mars 2009 à 12:53