У меня есть 2 решения, в которых используется PowerShell, а другой используется Autohotkey.
AutoHotKey версия
Я хотел бы использовать это один;) Вы определяете пользовательский ключ и действия, связанные с ключами. Мой файл содержит этот код:
^#n::
Run, Notepad
WinWaitActive Untitled - Notepad2
Send !e
Send p
return
Он работает notepad2, а затем имитирует нажатие Alt + E и P. Это вставляет струнные таким же образом, как вы нажмете ее самостоятельно. По какой-то причине у меня возникли проблемы с нажатием Ctrl + V (я этого больше не помню). Для получения дополнительной информации см. Веб-сайт Autohotkey.
версия PowerShell
Вы должны использовать редактор как Notepad2. С помощью переключателя /c
он запускает Notepad2 и вставляет текст из буфера обмена.
Чтобы сделать его более полезным я использую функцию tnp
определенной следующим образом: (обратите внимание, что вам нужно запустить PowerShell с -sta параметром, в противном случае они не будут работать propely)
function tnp {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[object]
$InputObject
)
begin { $objs = @() }
process { $objs += $InputObject }
end {
$old = Get-clipboard # store current value
$objs | out-string -width 1000 | Set-Clipboard
notepad /c
sleep -mil 500
$old | Set-Clipboard # restore the original value
}
}
function Set-Clipboard {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true,Position=0)][object]$s
)
begin { $sb = new-object Text.StringBuilder }
process {
$s | % {
if ($sb.Length -gt 0) { $null = $sb.AppendLine(); }
$null = $sb.Append($_)
}
}
end { Add-Type –a system.windows.forms; [windows.forms.clipboard]::SetText($sb.Tostring()) }
}
function Get-Clipboard {
Add-Type –a system.windows.forms
[windows.forms.clipboard]::GetText()
}
С эти функции вы можете запустить что-то вроде этого:
# gets list of members, opens Notepad2 and pastes the content (members list)
(get-date) | gm | tnp
другими словами - если какая-то информация будет возвращен и отформатированы на экран, вы можете получить его и вставить в блокнот.
Мне нравится этот ... I C ould дополнительный шаг для удаления файла после его открытия, так как все, о чем я забочусь, это получение данных в редакторе. – ctorx