Windows 11で右クリックからTXTをクリップボードにコピーする方法
.jpg?w=1600&h=900&fit=crop)
概要と目的
このガイドは、Windows 11(および互換性のあるWindows 10)でテキストファイル(.txt)をエクスプローラーの右クリックから直接クリップボードにコピーするための手順を、初心者にも分かりやすく順を追って説明します。改変するのはWindowsレジストリの特定キーだけです。目的は次の通りです:
- ファイルを開かずにテキスト全体をコピーできるようにする
- 複数の拡張子(REG/BAT/XML/JSなど)に同様の「Copy Content」機能を追加できるようにする
- 管理者やエンドユーザー向けの注意点とロール別チェックリストを提供する
Important: レジストリ編集はシステムに影響を与えるため、実行前にレジストリのバックアップまたはシステム復元ポイントを作成することを推奨します。
事前準備(定義)
- レジストリ(Registry): Windowsが設定を保存するデータベース。キーと値で構成される。
- clipコマンド: Windowsのコマンドラインユーティリティで、標準入力をクリップボードへ送る。
手順:テキストファイル用の「Copy Content」コンテキストメニューを追加する
以下は、TXTファイルに「Copy Content」を追加する最も単純な手順です。管理者権限は通常不要ですが、組織のポリシーや権限設定により必要になることがあります。
エクスプローラーを閉じて、必要なファイルを保存してください。
「Windows + R」を押して「ファイル名を指定して実行」を開きます。
テキストボックスに
regedit
と入力して「OK」をクリックします(レジストリエディタが起動します)。レジストリエディタのアドレスバーに以下のパスをコピー&ペーストし、Enterキーを押します。
HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell
左ペインで
shell
キーを右クリックし、[新規] > [キー] を選びます。新しいキー名に
CopytoClip
と入力して確定します。CopytoClip
を右クリックし、同じく [新規] > [キー] を選び、そのサブキー名をcommand
とします。CopytoClip
キーを選択し、右側の (既定) 値をダブルクリックして編集ウィンドウを開きます。値のデータに
Copy Content
と入力して「OK」を押します(コンテキストメニューに表示させる名前です)。次に
command
サブキーを選択し、右側の (既定) をダブルクリックします。値のデータに次を正確に入力し、「OK」を押します。
cmd /c clip < "%1"
- これは選択したファイル(%1)の内容を標準入力として
clip
に渡すコマンドです。
- これは選択したファイル(%1)の内容を標準入力として
これで操作は完了です。レジストリエディタを閉じ、エクスプローラーで任意のTXTファイルを右クリックしてください。
「その他のオプションを表示」(Show more options)を選ぶと、クラシックメニューに「Copy Content」が表示されます。
選択するとファイル内容がクリップボードにコピーされます。コピーを確認するには「Windows + V」を押してクリップボード履歴を表示します。
もし削除したくなったら、次のレジストリパスに戻り
CopytoClip
キーを右クリックして「削除」を選びます。HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\CopytoClip
他のファイル形式に同じ機能を追加する方法
上記の手順はTXT(Notepad)専用ですが、同じ手順を他のファイルタイプの shell
キーに対して行えば、同様の「Copy Content」オプションを追加できます。代表的なレジストリパスは次の通りです。
- REG(レジストリスクリプト):
HKEY_CLASSES_ROOT\regfile\shell
- BAT(バッチファイル):
HKEY_CLASSES_ROOT\batfile\shell
- XML:
HKEY_CLASSES_ROOT\xmlfile\shell
- JS(JavaScript):
HKEY_CLASSES_ROOT\JSFile\shell
これらの shell
キー配下に CopytoClip
と command
を作成し、(既定) に先ほどと同じ値を設定します。設定後は各拡張子のファイルを右クリックして「Copy Content」が表示されるか確認してください。
代替アプローチ(ケースに応じて使い分ける)
- PowerShellを使う: GUI操作を避けたい場合はPowerShellスクリプトで
Get-Content
とSet-Clipboard
を組み合わせれば同等の動作を実行できます(管理者でない通常ユーザーでも使えます)。 - シェル拡張ツール: 右クリックメニューを拡張するタイプのフリーソフト(例: FileMenu Toolsなど)を使えば、レジストリ直接編集なしに同様のアクションを追加可能です(ただし追加のソフトをインストールする必要があります)。
- AutoHotkeyスクリプト: 特定のホットキーやコンテキストメニューに似た動作を自動化したい場合に有効です。
いつ使うべきかの指針:
- 単純で広く共有する必要がある場合 → レジストリ手法(本記事)
- 一時的またはローカル環境だけで良い場合 → PowerShellやAutoHotkey
- GUIで管理者が多数のPCに配布する場合 → グループポリシーでスクリプト配布(レジストリファイルを配布)
失敗するケースと回避策(よくあるトラブル)
- パーミッションエラー: 組織のグループポリシーでHKEY_CLASSES_ROOTの編集が禁止されていると追加できません。解決策はIT管理者に依頼すること。
- 非テキストファイル: バイナリファイルやエンコードが特殊なファイルはテキストとして正しくコピーされないことがあります。事前にファイルがUTF-8/ANSI等のテキストであることを確認してください。
- ファイルサイズ: 非常に大きなファイルを
clip
に渡すと、クリップボードや受け手側のアプリで貼り付けに失敗する場合があります。大きなファイルは別途ファイル転送や分割を検討してください。 - 「Show more options」が出ない/クラシックメニューが拡張されない場合: シェル拡張の競合やカスタムシェル設定を確認します。
セキュリティとプライバシーの注意点
- クリップボードは機密データを短時間保存します。企業環境では感度の高い情報(パスワード、個人情報)をコピーしない運用ルールを設けてください。
- Windowsのクリップボード履歴は保存されるため、無関係のユーザーが同じマシンにアクセスする場合は履歴を無効化するか、作業後に履歴を手動で消去してください。
- 監査: 必要ならばレジストリ変更の記録(誰がいつ変更したか)や、クリップボード利用ログのポリシーを定めることを推奨します。
管理者・ユーザー別チェックリスト
管理者向けチェックリスト:
- レジストリ編集を行う前にバックアップを取る
- 社内ポリシーに適合するか確認する
- 必要ならグループポリシーやスクリプトで一括配布を設計する
- クリップボードの使用ポリシーを策定する
エンドユーザー向けチェックリスト:
- 重要なファイルは事前に保存する
- 機密情報のコピーを避ける
- 問題があればIT管理者に相談する
ミニ手順(チェックボックス形式)
- レジストリのバックアップを作成した
- [ ] 指定のレジストリキーに
CopytoClip
を追加した - [ ]
command
サブキーの (既定) にcmd /c clip < "%1"
を設定した - エクスプローラーで動作を確認した
- [ ] 不要になったら
CopytoClip
キーを削除した
意思決定フロー(簡易)
flowchart TD
A[機能が必要?] -->|はい| B[単一PCか複数PCか]
B --> C{単一PC}
C -->|はい| D[PowerShell / AutoHotkey を検討]
C -->|いいえ| E[レジストリ変更またはグループポリシーで配布]
B --> F[ソフト導入を許可するか?]
F -->|はい| G[サードパーティ製のシェル拡張]
F -->|いいえ| E
テストケース / 受け入れ基準
- 右クリック → その他のオプション → 「Copy Content」が表示される。
- 「Copy Content」を選ぶと選択したTXTの全文がクリップボードに格納される。
- 「Windows + V」で履歴にコピーされた内容が表示され、Ctrl+Vで貼り付け可能である。
- 不要時に
CopytoClip
キーを削除するとメニューから消える。
まとめ
この手順を使えば、Windows 11の右クリックメニューからテキストファイルを開かずに中身をクリップボードに送ることができます。比較的小さなレジストリ変更で利便性が上がりますが、運用する際は権限、エンコード、クリップボードのプライバシーに注意してください。
要点:
- レジストリの
SystemFileAssociations\text\shell
にCopytoClip
とcommand
を追加する - コマンドは
cmd /c clip < "%1"
を使用 - 他の拡張子にも同様の方法で適用可能
- クリップボードのセキュリティとファイルサイズに注意
次のアクション: テスト用の小さなTXTを作成して、手順どおりに設定を行い、動作を確認してください。