Как вставить в powershell скопированный текст
Работа с буфером обмена в Powershell c Set-Clipboard
Для работы с буфером обмена в Powershell 5 есть две команды Set-Clipboard и Get-Clipboard. Одна команда может вставить данные из буфера, а другая установить.
Например так мы получим данные из буфера:
Из дополнительных ключей есть Format, который выполнит форматирование буфера. Если мы выделили ряд файлов, то можем получить такой результат:
Кроме FileDropList есть еще значения:
Например данные со свойством Image я не смог получить из файловой системы, только с картикне в интернете с браузера Edge:
Остальные ключи у меня не работают или аналогично другому примеру только в каких-то специфичных условиях. Это ключ Raw, который должен игнорировать символы новой строки и TextFormatType, в котором указывается тип данных буфера. Ключ TextFormatType может принимать следующие значения (у меня они не работают):
Противоположны ключ устанавливает значения в буфер. Так мы скопируем значение:
Можно к существующему буферу добавить еще значения:
Примеры работы с командами буфера обмена в Powershell
Конвертация вывода через ConvertTo-Html в Powershell
Копирование и вставка
Копирование и вставка в среде PowerShell работает точно так же, как и в любом окне командной строки или консольной программы, и опять-таки потому, что PowerShell является обычной консольной программой, как и cmd. exe.
Текст нельзя вырезать из окна, его можно только копировать из прямоугольного участка в буфер обмена. Для копирования из экрана PowerShell с помощью мыши наведите курсор на верхний левый угол окна PowerShell, щелкните на нем и выберите пункты меню Изменить (Edit), Пометить (Mark). Переместите указатель в верхний левый угол копируемого текста, нажмите кнопку мыши и перетащите курсор в нижний правый угол нужного вам текста. Затем для копирования текста щелкните на экране правой кнопкой или нажмите Ввод. Для всех этих действий существуют также клавишные комбинации. Сначала нужно нажать Alt+пробел И (Е) М (К). Затем для перемещения курсора в верхний левый угол нужного текста можно воспользоваться клавишами со стрелками, после этого, удерживая нажатой клавишу Shift и используя во время этого клавиши со стрелками, нужно переместить курсор в нижний левый угол. Для завершения операции следует нажать клавишу Ввод. Лично я считаю, что проще всего для начала нажать Alt+пробел И (Е) М (К), взять мышь, чтобы пометить прямоугольник, а затем вернуться к клавиатуре и нажать Ввод.
Для вставки текста из буфера обмена в окно PowerShell наведите курсор на верхней левый угол окна PowerShell, щелкните на нем и выберите пункты меню Изменить (Edit), Вставить (Paste). Возможно, быстрее будет воспользоваться для этого клавишной комбинацией Alt+пробел И (Е) А (Р).
Работаем с буфером обмена из командной строки
О том, как пользоваться буфером обмена, знает практически любой пользователь Windows. Однако далеко не все знают, что работать с буфером можно не только из графической оболочки, но и из командной строки. Для этого есть несколько разных способов.
Способ 1
После чего выведем статические методы класса командой:
Названия методов интуитивно понятны, например set — добавить в буфер, get — получить из буфера и т.п. Для примера поместим в буфер обмена текст:
Затем считаем текст из буфера:
Буфер может содержать не только текст, но и некоторые другие типы данных (изображения, аудио и списки файлов). В качестве примера добавим в буфер список файлов (filedroplist), а затем посмотрим результат:
$files = Get-ChildItem C:\files
[Windows.Clipboard]::SetFileDropList($files)
[Windows.Clipboard]::GetFileDropList()
При необходимости можно уточнить, какой именно тип данных содержится в буфере. Например добавим в него текст:
И проверим, содержит ли буфер текстовые данные или список файлов:
Первая команда вернет True, вторая — False, т.е. в буфере находится именно текст.
Способ 2
В пятой версии PowerShell для работы с буфером обмена появились специальные командлеты Get-Clipboard и Set-Clipboard. Работать с ними гораздо проще и удобнее, например добавим в буфер текст и затем считаем его:
Еще одна полезная фича новых командлетов — это возможность добавить данные в буфер, не затирая уже имеющиеся. Для добавления используется Set-Clipboard с ключом Append. Для примера добавим еще текст и затем проверим содержимое буфера:
Если в буфере находятся не простой текст, то при получении содержимого необходимо указывать тип данных. Например добавим в буфер список файлов и выведем его:
Способ 3
Еще можно работать с буфером обмена через методы COM-объекта HtmlFile. Этот cпособ не самый прямой, но вполне рабочий. Для начала создаем новый объект:
Затем помещаем данные в переменную:
С помощью метода setData добавляем данные в буфер:
А с помощью метода getData получаем его содержимое:
Способ 4
Ну и напоследок старая добрая утилита командной строки clip.exe. С ее помощью можно поместить данные в буфер, например передав их по конвейеру:
Получить обратно из буфера данные утилита не умеет, для этого придется воспользоваться одним из описанных выше методов.
10 трюков с PowerShell
Windows PowerShell — это наиболее распространенный язык сценариев Microsoft, и у большинства серверных продуктов Microsoft сегодня есть команды PowerShell.
Windows PowerShell — это наиболее распространенный язык сценариев Microsoft, и у большинства серверных продуктов Microsoft сегодня есть команды PowerShell. Таким образом, вы можете управлять ими при помощи сценариев PowerShell. Однако PowerShell — это нечто большее, чем просто язык сценариев. Он имеет собственную командную программную оболочку. Знать нюансы пользовательского интерфейса необходимо для продуктивной работы с PowerShell. На этот раз я расскажу о 10 важных техниках для работы в пользовательском интерфейсе PowerShell.
10. Воспроизведение последней команды. Для повтора последней команды, введенной в окне PowerShell, нажмите клавишу «стрелка вверх». Продолжайте прокручивать меню до появления команды. Используйте клавишу «стрелка вниз» для прокрутки листа команд в обратную сторону.
9. Воспроизведение предыдущего ввода. В то время как клавиши «стрелка вверх» и «стрелка вниз» позволяют прокручивать всю предыдущую цепочку команд, нажатие стрелки вправо дает возможность быстро вводить символы из предыдущей команды. При нажатии клавиши «стрелка вправо» поочередно выводятся символы из предыдущей команды.
8. Используйте QuickEdit для редактирования текстов. Хотя это и не очевидно, командное окно PowerShell позволяет вам выбирать и быстро копировать любой текст, показываемый в окне. Используйте мышку для выбора текста с целью копирования. Нажмите Enter или с помощью правой кнопки мыши скопируйте текст в буфер обмена. Чтобы воспользоваться преимуществами данной функции, необходимо активировать режим QuickEdit Mode на вкладке Options в диалоговом окне свойств PowerShell Properties.
7. Правая кнопка мыши используется для вставки в командное окно. Стандартная команда вставки Ctrl+v в командном окне PowerShell не работает. Вместо этого после копирования текста в буфер обмена поместите мышь на командную строку и, нажав правую кнопку, вставьте содержимое буфера обмена в строку ввода.
6. Используйте клавишу табуляции для автозавершения — использование клавиши табуляции, когда вы печатаете команды в окне PowerShell, позволяет попытаться завершить команды, которые печатаются. Например, ввод первой части команды PowerShell Get дополняется второй частью в алфавитном порядке, Get-Acl. Продолжая нажимать клавишу табуляции, вы пройдете через все доступные для Get- команды.
5. Опознавание и окончание незавершенного ввода. Если вы вводите команду PowerShell, но она не завершена правильно, командное окно указывает на факт незавершенности другим символом приглашения для ввода, «>>». Вы можете завершить команду либо отменить текущую команду или ввод, нажав Ctrl+c.
3. Применяйте конвейер для объединения всех команд в цепочку. Для организации конвейера используется разделительный символ конвейера (|), чтобы пересылать выходные данные одной команды на ввод другой команде. Конвейер работает со всеми командами PowerShell. Пример, приведенный ниже, показывает, как можно организовать конвейер передачи выходных данных команды dir на вход Sort-Object для того, чтобы классифицировать выходные данные согласно размеру файла:
2. Используйте перенаправление для того, чтобы пересылать выходные данные команды в файл. Перенаправление позволяет отправлять результаты работы команды в файл. Используйте перенаправление, добавляя символ > в конец команды, за которым следует путь, указывающий, куда предстоит поместить выходные данные. Пример, приведенный ниже, показывает, как можно перенаправить выходные данные команды dir в файл, названный mydir.txt:
1. Настраивайте командное окно с помощью меню Properties. Чтобы изменить свойства командного окна PowerShell, щелкните значок PowerShell в левом верхнем углу панели инструментов окна. Затем выберите Properties, чтобы открыть диалоговое окно свойств. Вкладка Layout позволяет изменить размеры экрана, вкладка Options — размеры буфера команд, а вкладка Colors позволяет менять цвета шрифтов и фона командного окна.
Поделитесь материалом с коллегами и друзьями
Сочетания клавиш для интегрированной среды сценариев Windows PowerShell
Используйте следующие сочетания клавиш для выполнения действий в интегрированной среде скриптов Windows PowerShell®. Интегрированная среда сценариев Windows PowerShell доступна в серверных и клиентских операционных системах Windows, но ее можно установить и в некоторых старых операционных системах Windows в составе скачиваемого пакета Windows Management Framework 4.0.
Сочетания клавиш для редактирования текста
При редактировании текста можно использовать приведенные ниже сочетания клавиш.
Сочетания клавиш для выполнения сценариев
При запуске сценариев в области сценариев можно использовать приведенные ниже сочетания клавиш.
Сочетания клавиш для настройки представления
Для настройки представления в интегрированной среде сценариев Windows PowerShell можно использовать приведенные ниже сочетания клавиш. Они доступны во всех областях приложения.
Сочетания клавиш для отладки сценариев
При отладке сценариев можно использовать приведенные ниже сочетания клавиш.
Действие | Сочетание клавиш | Область использования |
---|---|---|
Запустить или продолжить | F5 | Область сценариев при отладке сценария |
Шаг с заходом | F11 | Область сценариев при отладке сценария |
Шаг с обходом | F10 | Область сценариев при отладке сценария |
Шаг с выходом | SHIFT + F11 | Область сценариев при отладке сценария |
Отображение стека вызовов | CTRL + SHIFT + D | Область сценариев при отладке сценария |
Список точек останова | CTRL + SHIFT + L | Область сценариев при отладке сценария |
Переключить точку останова | F9 | Область сценариев при отладке сценария |
Удалить все точки останова | CTRL + SHIFT + F9 | Область сценариев при отладке сценария |
Остановить отладчик | SHIFT + F5 | Область сценариев при отладке сценария |
Сочетания клавиш для вкладок сценариев Windows PowerShell
При работе с вкладками Windows PowerShell можно использовать приведенные ниже сочетания клавиш.