IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Gérer des chaines de caracteres avec des accents - commande Netsh [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2017
    Messages : 24
    Par défaut Gérer des chaines de caracteres avec des accents - commande Netsh
    Apres pas mal de perte de temps je finis ici !

    je cherche a activé des cartes réseau en bat.

    voici le résultat de la commande dos netsh qu'il me faut travailler en activant la carte Wi-fi et Ethernet.
    la difficulté réside dans la méconnaissance du nom des carte des poste qui exécuteront ce script!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    C:\Install\sophos>netsh interface show interface
    
    État admin    État          Type            Nom de l'interface
    -------------------------------------------------------------------------
    Activé         Déconnecté     Dédié            Connexion TAP-WIN32
    Désactivé      Déconnecté     Dédié            Wi-Fi
    Désactivé      Déconnecté     Dédié            Ethernet
    j'ai commencé mon script avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @ECHO OFF
    net stop "Sophos Device Control Service" 
    
    netsh interface show interface > d:\toto.txt
    
    
    find "sactiv" d:\toto.txt > d:\toto2.txt
    Dans les difficulté, les fichier textes temporaire (qui deviendront des variables) embarque plein d'accents:
    toto2.txt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                                                   (oui c'est une ligne vide..)
    ---------- D:\TOTO.TXT
    D‚sactiv‚      D‚connect‚     D‚di‚            Wi-Fi
    D‚sactiv‚      D‚connect‚     D‚di‚            Ethernet
    j'ai essayé d'ajouter ceci sans succes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FOR /f "tokens=3 delims=di" %%i in ('netsh interface show interface') do (
    echo %%i > d:\toto3.txt)
    toto3.txt inexploitable !

    Pouvez vous m'aider a récupérer les chaine de caractères "Nom de l'interface" afin de les intégrer dans une commande netsh :

    netsh interface set interface "%Connexion au réseau local%" enabled

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Le script est à exécuter en tant qu'admin avec le clic-droit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=1,2,3,*" %%A in ('netsh interface show interface ^| find "Connexion"') do (netsh interface set interface "%%D" enabled)
    Est-ce que cela vous convient ?

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    FOR /f "Skip=3 tokens=4" %%A in ('netsh interface show interface') do ( echo "%%A" )
    pause>nul

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour hackoo, bien vu pour le skip=3 je n'y avais pas pensé.
    Malheureusement ton tokens=4 n'est pas juste, car les noms des cartes réseaux contiennent des espaces.

  5. #5
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Bonjour hackoo, bien vu pour le skip=3 je n'y avais pas pensé.
    Malheureusement ton tokens=4 n'est pas juste, car les noms des cartes réseaux contiennent des espaces.
    Car tout simplement, j'ai testé uniquement sur mon windows 10 et j'ai obtenu un résultat comme ceci :
    et chez vous c'est quoi comme résultat ?

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    J'ai fait la même erreur avant d'avoir testé la commande.

    Par exemple "Connexion au réseau local" avec tokens=4 tu ne récupères que "Connexion"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. switch avec des chaines de caracteres
    Par sandesc dans le forum Général Java
    Réponses: 1
    Dernier message: 15/04/2011, 16h26
  2. regex et caractere avec des accents
    Par andromeda dans le forum C
    Réponses: 1
    Dernier message: 12/02/2009, 07h49
  3. Réponses: 6
    Dernier message: 21/02/2008, 21h17
  4. [langage] Compter des chaines de caractères
    Par julfra dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2004, 17h42
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo