[Batch] Commande ECHO désactivée

Résolu/Fermé
koma_666 Messages postés 429 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 9 mai 2016 - Modifié par koma_666 le 6/05/2016 à 16:42
koma_666 Messages postés 429 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 9 mai 2016 - 9 mai 2016 à 17:04
Bonjour à tous,

Je rencontre un problème dans mon code ci-dessous (qui doit m'afficher le message "activer" si mon wifi est déconnecté)
Lorsque j'essaye d'afficher la valeur de ma variable k, j'obtiens le message "Commande ECHO désactivée". Du coup, impossible de tester mon if positionné après sachant que je ne pas connaitre la valeur de k.
A noter que dans la commande for, le echo %%k fonctionne bien et m'affiche " Média déconnecté".

J'ai ajouté quelques commentaires dans le code pour la compréhension.

Auriez vous une idée du problème?



echo off
cls
setlocal enableDelayedExpansion

REM récupérer le numéro de ligne de *sans fil Wi-Fi* de la commande ipconfig

for /f "tokens=1 delims=]" %%i in ('ipconfig ^| find /N "sans fil Wi-Fi"') do (
for /f "tokens=1 delims=[" %%j in ("%%i") do (
set result=%%j
echo !result!

)
)

REM incrémenter le numéro de ligne pour l'utiliser en skip

set /a result=result+1
echo %result%


REM lire le résultat à partir de la ligne %result%

for /f "skip=%result% tokens=2 delims=:" %%k in ('ipconfig') do echo %%k & goto suit
:suit

REM erreur ici: Commande ECHO désactivée.

echo !k!
echo %k%


pause

REM impossible de vérifier la valeur de %k% car erreur "Commande ECHO désactivée". Le résultat du if est toujours "desactiver"
if ["!k!"==" Média déconnecté"] (echo activer) else (echo desactiver)


pause



Ce qui donne en output:

34
35
Média déconnecté
Commande ECHO désactivée.
Commande ECHO désactivée.
Appuyez sur une touche pour continuer...
desactiver
Appuyez sur une touche pour continuer...

10 réponses

dubcek Messages postés 18752 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 3 octobre 2024 5 619
7 mai 2016 à 08:57
hello
essayer
for /f "skip=%result% tokens=2 delims=:" %%k in ('ipconfig') do set x=%%k&echo %%k & goto suit 
:suit

echo %x%
0