PowerShellやコマンドプロンプトで実行したコマンドの結果をメモ帳やExcel等の別のアプリにコピーしたいと思ったことはありませんか。
結果を選択してそのままコピーしても問題ありませんが、行数が多いと選択が大変だったりします。そこで、コマンド結果を簡単にクリップボードに保存する方法を紹介します。
コマンド結果を簡単にクリップボードに保存する方法
通常、コマンドの結果をクリップボードに保存するには、結果部分を選択してコピーするのではないかと思います。
画面範囲内だけの結果であればこれでも特に困りませんが、複数ページに渡るコマンド結果であれば、選択画面どうですし、ミスをすることもあります。「clip」コマンドを使用すると、わざわざ選択しなくてもコマンド結果をすべてクリップボードに保存してくれます。
コマンドプロンプトのコマンド結果をクリップボードに保存する
クリップボードに保存したい内容が表示されるコマンドの後に「|(パイプ)」で「clip」コマンドをつなげて実行します。
[コマンド] | clip
コマンド例)
dir | clip
コマンドの実行結果は以下のようになります。
コマンドプロンプト上に「dir」コマンドの結果は表示されませんが、全てクリップボードに保存されています。メモ帳にペーストすると以下のようになります。
PowerShellのコマンド結果をクリップボードに保存する
コマンドプロンプトと同様にクリップボードに保存したい内容が表示されるコマンドの後に「|(パイプ)」で「clip」コマンドをつなげて実行します。
[コマンド] | clip
コマンド例)
dir | clip
コマンドの実行結果は以下のようになります。
PowerShell上に「dir」コマンドの結果は表示されませんが、全てクリップボードに保存されています。メモ帳に貼り付けると以下のようになります。
文字化けをしているのは既定では文字コードがPowerShellではUTF-8なのに対し、クリップボードはShift-JISであるためです。
文字化けを防ぐにはまず最初に以下のコマンドでPowerShellのアウトプットの文字コードをUTF-8からShift-JISに変更する必要があります。
$OutputEncoding = [Console]::OutputEncoding
文字コードを変更した後にクリップボードに保存します。
するとメモ帳にも文字化けせずにペーストすることができます。
コメント