Variable d'environnement batch

[Fermé]
Signaler
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018
-
Messages postés
3292
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
5 septembre 2021
-
Bonjour, existe t'il une variable d'environnement dans laquelle est stockée le nom de réseau de l'appareil ?
merci de votre aide.

3 réponses

Messages postés
20715
Date d'inscription
lundi 26 novembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2021
4 632
Slt

Si tu parles d'un PC sous Windows c'est COMPUTERNAME

Tu as les variables avec la commande SET


Messages postés
20715
Date d'inscription
lundi 26 novembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2021
4 632
comme je te l'ai dit tu as les variables d'environnement avec la commande SET mais je ne pense pas que tu y trouveras le non du réseau
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

merci. Sait-tu comment le faire avec batch ?
Messages postés
20715
Date d'inscription
lundi 26 novembre 2007
Statut
Contributeur
Dernière intervention
16 septembre 2021
4 632
faire quoi ?
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

avoir le nom du réseau avec batch
Messages postés
13719
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
15 septembre 2021
4 592 >
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

On ne comprend pas bien de quel réseau tu parles, tu cherches un SSID (réseau wifi) ou bien tu cherches un domaine/groupe de travail
Messages postés
3292
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
5 septembre 2021
1 651
Salut.

Les questions des collègues sont pertinentes...

Tu cherches à récupérer le SSID (wifi) connecté ?
Si oui :
NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID" 


++
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

C'est ça ! Merci ! par contre savez vous comment l'avoir directement en variable ?
Messages postés
3292
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
5 septembre 2021
1 651
Salut.

Pour un batch, j'ai trouvé ceci :
@echo off
for /f "delims=: tokens=2" %%i in ('NETSH WLAN SHOW INTERFACE ^| findstr /r "^....SSID"') do set "Network=%%i"
set "Network=%Network:~1%"
echo %network%

ici : https://stackoverflow.com/questions/45581328/how-do-i-retrieve-the-name-of-the-currently-connected-wireless-network-in-batch

++
Messages postés
3292
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
5 septembre 2021
1 651
Lu'

?

Il te faut créer un fichier batch avec le script que je t'ai donné.

Comment créer un fichier batch :
https://www.commentcamarche.net/faq/24568-creer-des-fichiers-de-commande-en-batch#creer-son-fichier-batch

Ensuite, suffit de double-cliquer dessus pour le lancer.


Remarque : Rajoute un PAUSE à la fin du script.


++
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

Ca je sais merci quand même ce que je veux savoir c'est comment fonctionne la ligne de code par exemple pourquoi as-tu utilisé une boucle for ?
bonne fin de vacances
Messages postés
13719
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
15 septembre 2021
4 592 >
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

La boucle FOR sert à récupérer le résultat de la commande
NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID" dans une variable.
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

Et a quoi sert la commande findstr /r ... dans le programme ?
Messages postés
3292
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
5 septembre 2021
1 651 >
Messages postés
46
Date d'inscription
vendredi 3 mars 2017
Statut
Membre
Dernière intervention
30 décembre 2018

findstr c'est la combinaison de find et et string...

En résumé, cela permet de trouve la ligne content le(s) terme(s) concerné(s) (ici SSID).
Et ainsi, ne récupérer que l'essentiel.


Exemple :
NETSH WLAN SHOW INTERFACE
donne ceci : https://i.imgur.com/GOpIcTi.png

Tu remarqueras qu'on a toutes les informations..

NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID" 
donne ceci : https://i.imgur.com/PNXFIw7.png

On a la ligne que tu voulais (uniquement l'info concernant le SSID.

Et pour finir :
@echo off
for /f "delims=: tokens=2" %%i in ('NETSH WLAN SHOW INTERFACE ^| findstr /r "^....SSID"') do set "Network=%%i"
set "Network=%Network:~1%"
echo %network%


On cherche donc uniquement le SSID. et une fois trouvé, c'est stocké dans une variable.





++