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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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