Comment gérer les emoji dans l'invite de commande?


17

Le hotspot auquel je suis connecté a le SSID 12346🐷. J'ai besoin d'utiliser la netsh wlan show profile <SSID>commande, mais cmd ne semble pas avoir de support unicode. Que fais-je?

saigner


Utilisez simplement le nouveau terminal Windows.
Richie Bendall

@RichieBendall Évidemment, ce n'était pas une option lorsque cette question a été posée, et n'est toujours pas et continuera de ne pas être l'un sur plusieurs systèmes hérités.
rahuldottech

Correct. J'ai ajouté le commentaire pour donner à cette question une meilleure prévalence future.
Richie Bendall

Réponses:


19

J'ai beaucoup expérimenté avec les emoji en cmd, et voici les conclusions auxquelles je suis arrivé:

  1. Dans la plupart des cas, vous pouvez remplacer les emoji par?? .
    Voici ce que la commande netsh wlan show profile(qui répertorie tous les profils réseau) me montre: dans le cas ci-dessus, vous pouvez simplement exécuter la commande .
    bleh2
    netsh wlan show profile 12346??
  2. Mais ... CONFLIT! Et s'il y a deux SSID identiques, juste avec des emoji différents?
    Pour tester cela, j'ai créé un deuxième hotspot avec le SSID 12346😁. CMD ne pouvait évidemment pas différencier. Mais la sortie de avait quelque chose d'intéressant:bleh3
    netsh wlan show profile 12346??

    Profile 12346?? on interface Wi-Fi: 
    ======================================================================= 
    
    Applied: All User Profile    
    
    Profile information 
    ------------------- 
        Version                : 1
        Type                   : Wireless LAN
        Name                   : 12346??
    
    Connectivity settings 
    --------------------- 
        Number of SSIDs        : 1
        SSID name              : "12346dY~?"
    
    
    [[REDACTED IRRELEVANT INFO]]
    
    
    Profile 12346?? on interface Wi-Fi: 
    ======================================================================= 
    
    Applied: All User Profile    
    
    Profile information 
    ------------------- 
        Version                : 1
        Type                   : Wireless LAN
        Name                   : 12346??
    
    Connectivity settings 
    --------------------- 
        Number of SSIDs        : 1
        SSID name              : "12346dY?·"
    

    Nous remarquons d'abord que cmd (très intelligemment) exécute la commande pour les deux SSID. Mais nous ne voulons l'exécuter que pour un SSID ...
    Deuxièmement, nous voyons que l'un a reçu le SSID 12346dY~?et l'autre 12346dY?·. Cependant, l'utilisation de l'un ou l'autre de ces éléments dans la commande nous donne juste une erreur ... Bummer!

  3. Alors que faisons-nous?? Assez simple, vous utilisez le clavier tactile (sous Windows 10) pour insérer les emoji dans la console, ou vous pouvez copier-coller les emoji d'ailleurs, les deux fonctionnent parfaitement, même si les emoji ne s'affichent pas correctement.

  4. Qu'en est-il des fichiers et des dossiers? J'ai créé deux dossiers, 😎et 😆. C'est ce que treemontre: saigne encore Heureusement pour nous, nous pouvons simplement utiliser tabpour encercler les noms de dossier à l'invite, mais encore une fois, nous n'avons aucun moyen de visualiser réellement les noms de dossier. Dans ce cas, une option consiste à renommer les dossiers à l'aide de la rencommande. Une autre option consiste à utiliser la dircommande pour inspecter les propriétés des fichiers / dossiers et déterminer celui dont vous avez besoin.

  5. Utilisez simplement ConEmu!
    ConEmu a apparemment un meilleur support unicode: LA VICTOIRE!


3
Lecture intéressante (et source pour la dernière image):
Abuser des emoji

La mise à jour de Windows 10 Creators semble vous pousser à utiliser PowerShell cmd, est-ce que l'Unicode est pris en charge?
Mokubai


1
MISE À JOUR! Cette capture d'écran montre la commande nécessaire pour activer l'unicode dans PowerShell. Merci @Bob !
rahuldottech

Pour clarifier davantage , la capture d'écran du dernier commentaire de @ Rahul2001 provient du programme PowerShell ISE (inclus avec PS), pas de la console de base. Le chcp 65001n'a pas de sens, mais il doit y avoir une sorte de commande externe appelé d' abord à forcer l'ISE à allouer une console et permettre [Console]::OutputEncodingau travail; une plaine chcpfonctionne aussi.
Bob
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.