Windows10でクリップボードの内容をコマンドで受け渡しする

Windows環境で、コマンドプロンプトやPowerShellで作業していて、コマンドの実行結果をコピーしたいときや、逆にクリップボードの内容をコマンド処理で受け取りたいとき、皆さんはどうしていますか?

コマンドの実行結果をクリップボードにコピーする場合は、ファイルにリダイレクトしてそのファイルを開いてコピーしたり、画面を範囲選択してコピーする方法が思いつきます。

逆にクリップボードの内容をコマンド処理で受け取りたい場合は、クリップボードの内容をテキストファイルなどに一度保存して、それをリダイレクトで読み込むといった方法が思いつきます。

が、上のようなことをしなくても、コマンド操作だけでコマンドの実行結果を直接クリップボードにコピーしたり、逆にクリップボード内容を取得してコマンドラインで処理したりできます。

ここでは、コマンド操作だけでコマンドの実行結果をクリップボードにコピーしたり、クリップボードからデータを取得したりする方法を紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェア バージョン
Windows10 Professional 64bit 1903

コマンドの実行結果をクリップボードにコピーする

コマンドプロンプトやPowerShellで、コマンドの実行結果をクリップボードにコピーするには、「clip」コマンドを利用します。

clipコマンドは、標準入力から渡されたデータをクリップボードにコピーしてくれます。

たとえば、以下のコマンドを実行すると、指定したファイルの内容がクリップボードにコピーされます。

type sample.txt | clip
clip < sample.txt

クリップボードの内容を取得する

逆にクリップボードの内容(テキストデータ)を取得する場合は、PowerShellの「Get-Clipboard」コマンドレットを利用します。

コマンドプロンプトからPowerShellのコマンドレットを使う場合は、以下のように記述します。

powershell -command "get-clipboard"

Get-Clipboardコマンドを実行することで、クリップボードの内容が標準出力として取得できるので、あとはパイプで接続して、ほかのコマンドに渡したりできますね。

あとがき

コマンドの実行結果をコピーするときに、ファイルにリダイレクトしてそのファイルを開いてコピーしたり、画面を範囲選択してコピーしたりしているなら、そのひと手間を効率化できますよ。

おすすめコンテンツ:
トップへ戻る