Как мне работать с эмодзи в командной строке?


17

Точка доступа, к которой я подключен, имеет SSID 12346🐷. Мне нужно использовать netsh wlan show profile <SSID>команду, но, похоже, cmd не поддерживает Unicode. Что мне делать?

BLEH


Просто используйте новый терминал Windows.
Ричи Бендалл

@RichieBendall Очевидно, что это был не вариант, когда задавался этот вопрос, и до сих пор нет и не будет одним из нескольких устаревших систем.
rahuldottech

Верный. Я добавил комментарий, чтобы дать этому вопросу лучшую распространенность в будущем.
Ричи Бендалл

Ответы:


19

Я немного экспериментировал с Emoji в CMD, и вот выводы, к которым я пришел:

  1. В большинстве случаев вы можете заменить эмодзи на?? .
    Вот что netsh wlan show profileмне показывает команда (в которой перечислены все сетевые профили): В приведенном выше случае вы можете просто запустить команду .
    bleh2
    netsh wlan show profile 12346??
  2. Но ... КОНФЛИКТ! Что делать, если есть два идентичных идентификатора SSID, просто с разными эмодзи?
    Чтобы проверить это, я создал вторую точку доступа с SSID 12346😁. CMD, очевидно, не мог дифференцироваться. Но на выходе было что-то интересное: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?·"
    

    Сначала мы заметили, что cmd (очень умно) запускает команду для обоих SSID. Но мы хотим , чтобы запустить его на один SSID ...
    Во- вторых, мы видим , что один был присвоен идентификатор SSID 12346dY~?, а другой 12346dY?·. Однако использование любого из них в команде просто дает нам ошибку ... Облом!

  3. Так что же нам делать?? Довольно просто: вы используете сенсорную клавиатуру (в Windows 10), чтобы вставить эмодзи в консоль, или вы можете скопировать и вставить эмодзи из другого места, оба работают отлично, даже если смайлики не отображаются должным образом.

  4. А как насчет файлов и папок? Я создал две папки 😎и 😆. Это то, что treeпоказывает: к блеф еще раз счастью для нас, мы можем просто использовать tabдля обхода имен папок в приглашении, но опять же, у нас нет никакого способа на самом деле просматривать имена папок. В этом случае одним из вариантов является переименование папок с помощью renкоманды. Другой вариант - использовать dirкоманду для проверки свойств файлов / папок и определения того, какой вам нужен.

  5. Просто используйте ConEmu!
    ConEmu, очевидно, имеет лучшую поддержку Unicode: ПОБЕДА!


3
Интересное чтение (и источник для последнего изображения): злоупотребление эмодзи в Windows
rahuldottech

Похоже, что обновление для Windows 10 Creators подталкивает вас к использованию PowerShell. cmdПоддерживается ли там Unicode?
Мокубай


1
ОБНОВИТЬ! На этом снимке экрана показана команда, необходимая для включения юникода в powershell. Спасибо, Боб !
rahuldottech

Чтобы уточнить , скриншот в последнем комментарии @ Rahul2001 сделан из программы PowerShell ISE (входит в комплект поставки PS), а не из базовой консоли. Это chcp 65001бессмысленно, но должна быть какая- то внешняя команда, вызываемая первой, чтобы заставить ISE выделить консоль и позволить [Console]::OutputEncodingработать; равнина chcpработает тоже.
Боб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.