Comment utiliser netsh avec des noms de cartes réseau Unicode

0

J'utilise mon ordinateur portable Windows 7 en espagnol car il m'aide à apprendre cette langue. Récemment, j'ai voulu configurer un fichier de commandes DOS pour désactiver un certain nombre de cartes réseau. Cependant, en espagnol, les noms de carte réseau utilisent des caractères spéciaux (non-ANSI). Par exemple les caractères accentués dans ce nom:

Conexión de área local 4

J'ai copié / collé les noms de la fenêtre Network Connections dans mon fichier .bat, mais l'erreur d'exécution est liée à l'erreur "Il n'existe pas d'interface d'enregistrement avec un nom d'enregistrement", c'est-à-dire qu'il n'a pas pu trouver d'adaptateur portant ce nom exact.

À l'aide de Notepad ++, j'ai modifié l'encodage de mon fichier .bat d'ANSI à UTF-8 (avec et sans nomenclature), mais j'ai continué à obtenir la même erreur. (J'ai collé dans le nom de l'adaptateur chaque fois après avoir changé le codage).

La question est donc de savoir quel est le meilleur moyen d’obtenir le nom exact de l’adaptateur dans mon fichier de commandes, afin qu’il soit reconnu par Windows lors de l’exécution.

Mike
la source
Vous ne nous dites pas quel jeu de caractères utilise réellement votre Windows espagnol. On dirait que ce n'est pas ANSI (et ce serait en fait très inhabituel). On peut donc supposer qu’il utilise un jeu de caractères ISO Latin qui devrait pouvoir représenter les caractères espagnols. Si vous utilisez un codage différent dans votre éditeur pour un fichier BAT, vous devez indiquer à l'interpréteur de commande que le fichier BAT n'est pas codé dans le jeu de caractères par défaut du système.
Exécutez CMD le
L'interpréteur cmd.exe ne prend pas en charge UTF-8, mais il devrait fonctionner avec UTF-16 ...
grawity
@ClassStacker - lorsque j'exécute chcp dans une fenêtre de commande, la page de codes active est 850. Est-ce ce que vous demandiez?
Mike
@ClassStacker - cela m'a amené à changer mon fichier .BAT pour utiliser le jeu de caractères OEM 850 dans Notepad ++, et maintenant cela fonctionne parfaitement. Pouvez-vous ajouter ceci comme réponse pour que je puisse l'accepter? (Étrangement, l'adaptateur Bluetooth fait toujours exception à la règle).
Mike le
Vous pouvez essayer UTF-16 conformément à la suggestion de @ grawity qui cmd.exedevrait pouvoir détecter cela automatiquement. - Qu'en est-il du blutooth ne fonctionne pas? Qu'y a-t-il dans votre fichier BAT?
Exécutez CMD le

Réponses:

0

Après avoir essayé diverses méthodes, j’ai finalement trouvé ce qui suit fonctionnait:

  • Changer mon fichier .BAT en ANSI
  • Exécutez la commande DOS suivante pour générer un fichier texte répertoriant les adaptateurs.

    netsh interface ip show interfaces> list.txt

  • Copiez / collez le nom de l’adaptateur du fichier .TXT dans mon fichier .BAT.

Je devrais noter que le nom de l'adaptateur semble étrange avec cette méthode, mais cela fonctionne:

Conexi ¢ n de rea local 4

Cependant, pour une raison quelconque, cela ne fonctionne pas avec tous mes adaptateurs. Par exemple, celui-ci n'est pas reconnu lorsque j'exécute le .BAT:

Conexi ¢ n de Bluetooth Bluetooth

Mike
la source
Appliquez CHCP 1252 avant d' exécuter > list.txt netsh interface ip show interfaceset conservez votre batscript dans le codage ANSI. Pas grand chose de plus à dire de ne pas savoir l'extrait de code problématique.
JosefZ