fastapple's blog

時系列関係なく、情報を追記・分割・統合などします。ブログに記載の内容のうち、引用ではなく、私自身が記載している文章・コードなどについては、自由にご利用ください。

powershellでパイプを使って文字列をコピペする


powershellを利用していると、表示させた文字列をクリップボードに直接コピーしたい場合や、クリップボードから直接powershellへ渡したい場合などがある。(いちいちコピペするのが面倒な場合)

そういうときの方法を示す。

なお、ほぼ先人の知恵を頼りにしている。

まず、何はともあれ以下の素晴らしいコード片をps1ファイルで保存しておき、自分のプロファイルからドットソースで読むようにしておく。

winscript.jp

さらにaliasでコピーにk 、ペーストにp という極めてアグレッシブな略称を私はつけているがそこは好みだろう。

そうしたら、例えば、

ls | select -expand Name | k

などとすれば、クリップボードにカレントディレクトリのファイル・フォルダの一覧をコピーすることができる。

ちなみに、

ls | %{ $_.Name } | k

でもよい。(%はForEach-Objectのエイリアス

パイプで渡した時にどうやってやればいいんだっけ?というのをよく忘れるのでメモ的な意味で記す。