Добавив в свое время в PowerShell функцию вставки текста из буфера обмена с помощью мыши, разработчики Microsoft, похоже, не учли все моменты. Следствием этого стал один маленький неприятный баг, с которым приходится сталкиваться пользователям Windows 10. При вставке скопированного в PowerShell текста мышкой все заглавные буквы автоматически обрезаются.
Вставив в PowerShell, к примеру, команду Get-WindowsImage -ImagePath "D:\sources\install.wim", вы получите et-indowsImage -mageath ":\sources\install.wim".
Поскольку Windows является регистрозависимой, вы можете легко решить эту проблему, предварительно отформатировав текст команды в Блокноте, но было бы лучше, если бы с ней вообще не приходилось сталкиваться.
В чем причина?
В некорректно работающем модуле PSReadLine, именно он отвечает в PowerShell за расширенные возможности форматирования содержимого консоли, а также за копирование и вставку в консоль текста из буфера обмена с использованием мышки. Проблема лежит на стороне разработчиков, так что простым пользователям ничего не остается как установить в систему соответствующее обновление PSReadLine.
Что можно сделать сейчас
Помимо предварительного форматирования текста команд, вы можете обойти баг следующими простыми способами:
- Вместо мышки используйте для вставки скопированных команд комбинацию клавиш Ctrl + V. В большинстве случаев это прекрасно работает.
- Если у вас ноутбук, вместо правой клавиши мыши нажмите соответствующую ей область на тачпаде. Текст должен вставиться без ошибок.
- Если у вас включена английская раскладка, переключитесь на русскую. Правда, если команда содержит заглавные символы кириллицей, они будут обрезаны. То есть работает этот трюк только с английскими символами.
Наконец, можно просто переустановить этот самый модуль PSReadLine.
Для этого в запущенной от имени администратора командной строке нужно выполнить команду remove-module psreadline, а затем зайти в расположение C:\Program Files\WindowsPowerShell\Modules и удалить оттуда папку PSReadLine.
После этого выполняем команду install-module psreadline и подтверждаем инсталляцию вводом Y.
Добавить комментарий