Wie gehe ich mit Emoji in der Eingabeaufforderung um?

17

Der Hotspot, mit dem ich verbunden bin, hat die SSID 12346🐷. Ich muss den netsh wlan show profile <SSID>Befehl verwenden, aber cmd scheint keine Unicode-Unterstützung zu haben. Was mache ich?

bleh

rahuldottech unterstützt Monica
quelle

Antworten:

19

Ich habe ziemlich viel mit Emoji in cmd experimentiert, und dies sind die Schlussfolgerungen, zu denen ich gekommen bin:

  1. In den meisten Fällen können Sie das Emoji durch ersetzen?? .
    Dies ist , was die netsh wlan show profile(die Listen alle Netzwerkprofile) Befehl zeigt mir: Im obigen Fall können Sie einfach laufen den Befehl .
    bleh2
    netsh wlan show profile 12346??
  2. Aber ... KONFLIKT! Was ist, wenn es zwei identische SSIDs gibt, nur mit unterschiedlichen Emoji?
    Um dies zu testen, habe ich einen zweiten Hotspot mit der SSID erstellt 12346😁. CMD konnte offensichtlich nicht unterscheiden. Aber die Ausgabe von hatte etwas Interessantes: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?·"
    

    Zuerst stellen wir fest, dass cmd (sehr intelligent) den Befehl für beide SSIDs ausführt. Aber wir wollen es nur für eine SSID ausführen ...
    Zweitens sehen wir, dass einer die SSID zugewiesen 12346dY~?wurde und der andere 12346dY?·. Die Verwendung eines dieser Befehle führt jedoch nur zu einem Fehler ... Schade!

  3. Also, was machen wir?? Ganz einfach, Sie verwenden die Touch-Tastatur (unter Windows 10), um das Emoji in die Konsole einzufügen, oder Sie können das Emoji von einer anderen Stelle kopieren und einfügen. Beide funktionieren einwandfrei, obwohl das Emoji nicht richtig angezeigt wird.

  4. Was ist mit Dateien und Ordnern? Ich habe zwei Ordner erstellt 😎und 😆. Das treezeigt: bleh noch mal Zum Glück können wir einfach tabdie Ordnernamen an der Eingabeaufforderung durchlaufen, aber auch hier haben wir keine Möglichkeit, die Ordnernamen tatsächlich anzuzeigen. In diesem Fall besteht eine Möglichkeit darin, die Ordner mit dem renBefehl umzubenennen . Eine andere Möglichkeit besteht darin, den dirBefehl zu verwenden, um die Eigenschaften der Dateien / Ordner zu überprüfen und festzustellen, welche Sie benötigen.

  5. Verwenden Sie einfach ConEmu!
    ConEmu hat anscheinend eine bessere Unicode-Unterstützung: SIEG!

rahuldottech unterstützt Monica
quelle
3
Interessante Lektüre (und Quelle für das letzte Bild): Missbrauch von Emoji in Windows
rahuldottech unterstützt Monica am
Das Windows 10 Creators Update scheint Sie dazu zu drängen, Powershell zu verwenden. Wird cmdUnicode dort unterstützt?
Mokubai
@ Mokubai Offenbar nicht auf Jubiläums-Update
Rahuldottech unterstützt Monica
1
AKTUALISIEREN! Dieser Screenshot zeigt den Befehl, der zum Aktivieren von Unicode in Powershell erforderlich ist. Vielen Dank @ Bob !
rahuldottech unterstützt Monica am
Zum weiteren Klärung ist der Screenshot in @ Rahul2001 letzten Kommentar aus dem Programm Powershell ISE ( im Lieferumfang PS), nicht die Grundkonsole. Das chcp 65001ist bedeutungslos, aber es muss einen externen Befehl geben, der zuerst aufgerufen wird, um die ISE zu zwingen, eine Konsole zuzuweisen und die [Console]::OutputEncodingArbeit zuzulassen . Eine Ebene chcpfunktioniert auch.
Bob