powershellでパイプを使って文字列をコピペする
powershellを利用していると、表示させた文字列をクリップボードに直接コピーしたい場合や、クリップボードから直接powershellへ渡したい場合などがある。(いちいちコピペするのが面倒な場合)
そういうときの方法を示す。
なお、ほぼ先人の知恵を頼りにしている。
まず、何はともあれ以下の素晴らしいコード片をps1ファイルで保存しておき、自分のプロファイルからドットソースで読むようにしておく。
さらにaliasでコピーにk 、ペーストにp という極めてアグレッシブな略称を私はつけているがそこは好みだろう。
そうしたら、例えば、
ls | select -expand Name | k
などとすれば、クリップボードにカレントディレクトリのファイル・フォルダの一覧をコピーすることができる。
ちなみに、
ls | %{ $_.Name } | k
でもよい。(%はForEach-Objectのエイリアス)
パイプで渡した時にどうやってやればいいんだっけ?というのをよく忘れるのでメモ的な意味で記す。