PowerShell 7.0.0 Preview6新機能 - Clipboardコマンドレット

【連載】

PowerShell Core入門 - 基本コマンドの使い方

【第83回】PowerShell 7.0.0 Preview6新機能 - Clipboardコマンドレット

[2020/01/24 08:00]後藤大地 ブックマーク ブックマーク

PowerShell 7.0.0 Preview 6には、PowerShell Coreとして公開された段階で削除されたコマンドレットのいくつかが復活している。「PowerShell Core」はオープンソース版の.NET実装である「.NET Core 2」を使って開発が行われたのだが、.NET Core 2にはいくつかの機能が欠落していた。この欠落した機能を使って開発されていたコマンドレットは、PowerShell Coreでも実装できなかったので、削除されたというわけである。

しかし、MicrosoftはWindows PowerShellの後継として「PowerShell 7」を採用することを決定したため、PowerShell Coreに移った段階で削除されたコマンドレットの再実装が進められている。Windows PowerShellとの互換性が確保できなければ、後継として利用することはできないからだ。PowerShell 7が基盤として使用している「.NET Core 3」に、.NET Core 2で消失した機能が復帰したのが、こうしたコマンドレット復活の根拠となっている。要するに.NET Core 3で機能が復活したので、PowerShell 7でもコマンドレットの復帰が可能になっていっているという状況だ。

復活したコマンドレットはいくつかあるのだが、今回はクリップボートとデータのやり取りを行う「Get-Clipboard」コマンドレットと「Set-Clipboard」コマンドレットを取り上げる。これらはいずれも、実に便利なコマンドレットだ。

Get-ClipboardとSet-Clipboardコマンドレット

クリップボートとデータのやり取りを行うためのコマンドレットがGet-ClipboardとSet-Clipboardだ。Get-Clipboardは「貼り付け」、Set-Clipboardは「コピー」に相当している。Windows 10なら「Ctrl」+「V」と「Ctrl」+「C」に相当する処理を行うコマンドレットである。

PowerShell 7.0.0 Preview 5でこの機能を使ってみる。

PowerShell 7.0.0 Preview 5

dirの出力をコピー&ペーストしてみよう

次のように、dirの出力結果のコピー&ペーストを試みても、そのようなコマンドレットは存在しないというエラーが表示されるだけで機能しない。

PowerShell 7.0.0 Preview 5にはGet-ClipboardやSet-Clipboardコマンドレットは実装されていない

同じ操作をPowerShell 7.0.0 Preview 6で実行してみる。

PowerShell 7.0.0 Preview 6

次のようにdirの出力をSet-Clipboardコマンドレットに流し込むと、エラーにならずに機能していることがわかる。

PowerShell 7.0.0 Preview 6にはSet-Clipboardコマンドレットが存在している

コピーされたテキストデータはシステムのクリップボードに保存されており、次のようにPowerShell 7以外のアプリケーションで貼り付けることができる。

メモ帳で貼り付けを選択

PowerShell 7.0.0 Preview 6でコピーしたテキストの貼り付けを確認

逆の操作も機能する。まず、次のようにPowerShell 7.0.0 Preview 6以外のアプリケーションでテキストデータをコピーする。ここではWindows 10のメモ帳でテキストデータをコピーしている。

Windows 10のメモ帳でテキストデータをコピー

この状態でPowerShell 7.0.0 Preview 6でGet-Clipboardコマンドレットを実行すると、次のようにメモ帳でコピーしたテキストデータが出力される。システムのクリップボードの内容をPowerShell 7.0.0 Preview 6側から持ってこられていることがわかる。

Get-Clipboardコマンドレットでシステムクリップボードからテキストデータを持ってきている

Get-ClipboardコマンドレットとSet-Clipboardコマンドレットは、WindowsプラットフォームのみならずmacOSやLinuxでも動作するというのが特徴だ。システムクリップボードを経由したテキストデータのやり取りは、PowerShell 7スクリプトを使ってほかのアプリケーションとテキストデータをやり取りする上でかなり便利なので、この機能がmacOSやLinuxでも使えるというのはかなりポイントが高い。

なお、現段階でサポートされているのはテキストデータだけだ。また、Linuxでこの機能を動作させるにはxclipコマンドがインストールされており、かつ、きちんと機能する必要がある。

macOSでクリップボードコマンドレットの動作を確認

macOSでクリップボードコマンドレットの動作を確認してみよう。当然ながら、PowerShell 7.0.0 Preview 5にはGet-ClipboardコマンドレットとSet-Clipboardコマンドレットの実装が存在しないので、次のように実行しようとしてもエラーが表示される。

macOSでのPowerShell 7.0.0 Preview 5

PowerShell 7.0.0 Preview 5にはGet-ClipboardとSet-Clipboardコマンドレットは存在しない

PowerShell 7.0.0 Preview 6で同じことをして見る。次のように、dirの出力結果がSet-Clipboardでコピーされる様子を確認できる。

macOSでのPowerShell 7.0.0 Preview 6

dirの出力結果をSet-Clipboardコマンドレットでコピー

PowerShell 7以外のアプリケーションで貼り付けを実施してみる。次のサンプルはテキストエディタで貼り付けを実施したサンプルだ。PowerShell 7.0.0 Preview 6でSet-Clipboardに渡した内容が貼り付けられたことがわかる。システムのクリップボードを使うことができている。

macOSのテキストエディタで貼り付けを実施

PowerShell 7.0.0 Preview 6でコピーしたテキストデータの貼り付けを確認

次に、テキストエディタでテキストをシステムのクリップボードにコピーし、これをPowerShell 7.0.0 Preview 6側から取得してみる。次のようにシステムクリップボードにコピーされたテキストデータを貼り付けることができていることを確認できる。

macOSのテキストエディタでテキストデータをコピー

PowerShell 7.0.0 Preview 6で貼り付けを確認

システムクリップボードを使ってテキストデータのやり取りを行うことには次のような利点がある。

  • データを共有するために一時ファイルを作成する必要がない
  • Windows 10であれば「Ctrl」+「V」や「Ctrl」+「C」、macOSであれば「⌘」+「V」や「⌘」+「C」といったショートカットキーを利用することができる


例えば、サーバ側からまたはクライアント側からsshで対象ホストに対してテキストデータを送信し、そこでテキストデータをシステムクリップボードにコピーする。GUI側は「Ctrl」+「V」や「⌘」+「V」を使ってデータをアプリケーションやブラウザに貼り付ける、そんな作業が行えるようになる。これまではOSごとにコピー&ペースト専用のコマンドを使う必要があったが、PowerShell 7からはこの機能がデフォルトで使用できることになる。システムクリップボードは、作業効率を上げ、時短を実現する”鍵”となるだろう。ぜひ、使ってみていただきたい。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

会員登録(無料)

ページの先頭に戻る