В PowerShell не вставляются символы верхнего регистра

Powershellchars

Добавив в свое время в PowerShell функцию вставки текста из буфера обмена с помощью мыши, разработчики Microsoft, похоже, не учли все моменты. Следствием этого стал один маленький неприятный баг, с которым приходится сталкиваться пользователям Windows 10. При вставке скопированного в PowerShell текста мышкой все заглавные буквы автоматически обрезаются.

Вставив в PowerShell, к примеру, команду Get-WindowsImage -ImagePath "D:\sources\install.wim", вы получите et-indowsImage -mageath ":\sources\install.wim".

PowerShell

Поскольку Windows является регистрозависимой, вы можете легко решить эту проблему, предварительно отформатировав текст команды в Блокноте, но было бы лучше, если бы с ней вообще не приходилось сталкиваться.

В чем причина?

В некорректно работающем модуле PSReadLine, именно он отвечает в PowerShell за расширенные возможности форматирования содержимого консоли, а также за копирование и вставку в консоль текста из буфера обмена с использованием мышки. Проблема лежит на стороне разработчиков, так что простым пользователям ничего не остается как установить в систему соответствующее обновление PSReadLine.

Что можно сделать сейчас

Помимо предварительного форматирования текста команд, вы можете обойти баг следующими простыми способами:

  • Вместо мышки используйте для вставки скопированных команд комбинацию клавиш Ctrl + V. В большинстве случаев это прекрасно работает.
  • Если у вас ноутбук, вместо правой клавиши мыши нажмите соответствующую ей область на тачпаде. Текст должен вставиться без ошибок.

Get-WindowsImage

  • Если у вас включена английская раскладка, переключитесь на русскую. Правда, если команда содержит заглавные символы кириллицей, они будут обрезаны. То есть работает этот трюк только с английскими символами.

Наконец, можно просто переустановить этот самый модуль PSReadLine.

Для этого в запущенной от имени администратора командной строке нужно выполнить команду remove-module psreadline, а затем зайти в расположение C:\Program Files\WindowsPowerShell\Modules и удалить оттуда папку PSReadLine.

Remove-module

Проводник

После этого выполняем команду install-module psreadline и подтверждаем инсталляцию вводом Y.

Install-module

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 3,67 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *