クリップボードをPowerShellで便利に使うためのTips
最後にクリップボード関連の事柄をいくつか紹介する。まず、現在のクリップボード内容だが、PowerShell(Windows PowerShell)から簡単に表示させることが可能だ。それには、以下の2行を実行する。
Add-Type -AssemblyName PresentationCore
[System.Windows.Clipboard]::GetDataObject().GetFormats()
1行目は、.NETのSystem.Windows.Clipboardクラスを使うための「おまじない」(アセンブリのロード)なので、最初の一回だけ実行すればよい。前掲の過去記事では、Add-Typeのクラス名が異なり、Windows PowerShellでのみ有効だった。しかし、アセンブリ名を「PresentationCore」にすると、PowerShell、Windows PowerShellのどちらでも有効になる(これについては前回記事を参照のこと)。
Windows付属のターミナル(Windows Terminal)では、選択範囲を自動的にクリップボードに設定することが可能である。
これは、GUI設定の「操作」にある「選択範囲をクリップボードに自動でコピーする」をオンにする。これにより、コマンドの出力を簡単にクリップボード経由で他のプログラムに転送できる。
また、PowerShellを使う場合、同じページにある「単語の区切り文字」からハイフンを削除すると、PowerShellのコマンド名をダブルクリックで選択状態にできるようになる。その後、右クリックメニューの「Web検索」を使えば、コマンドに関する情報を簡単にインターネット検索できる。PowerShellのヘルプコマンドを起動するよりも簡単だ。
特にPowerShell(Core)は、ヘルプファイルが貧弱なので、Microsoftのドキュメントページを探すことが多い。なお、右クリックメニューは、settings.jsonファイルにあるプロファイル設定に
"experimental.rightClickContextMenu": true
を追加する。デフォルトプロファイルで設定しておくといいだろう。右クリックメニューの詳細に関しては過去記事(「内部的な改良で便利になったWindows Terminal v1.19での新機能を確認」)を参照してほしい。
ディレクトリ内のファイルのリストを作りたいといった場合、コマンド出力を直接クリップボードに入れることができる。cmd.exeであれば、
dir | clip.exe
とする。PowerShell/Windows PowerShellなら、もう少し複雑なことが可能で、たとえば、ハードリンクを除きシンボリックリンクだけのリストを作りたいなら、
dir | where ModeWithoutHardLink -match "^l" | Set-Clipboard
とすればよい。
また、クリップボードのテキストを加工することもできる。以下のコマンドでは、クリップボードテキストから半角の角カッコ(“[”と“]”)を削除してクリップボードに書き戻す。
((Get-Clipboard) -replace "[\[\]]","") | Set-Clipboard
「Get-Clipboard」で得たテキストは、そのままPowerShellの演算子やコマンドで処理が可能なので、メモ帳などで編集しなくてもよい。
クリップボードは、GUIと深い関係にあり、GUIの元祖といわれるAltoに搭載されていた。Ctrl+C/X/Vのショートカットは、その頃からのもの。Windowsも最初のVer.1.xからクリップボードを持っていた。クリップボード関連の機能をうまく使うと、「一手間」減らせることがある。
この連載の記事
-
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 - この連載の一覧へ