毎回PowerShellを開いてスクリプトを実行するのは、少し面倒ですよね。
実はWindows11では、右クリックメニュー(コンテキストメニュー)に自作のPowerShellスクリプトを追加して、ファイルやフォルダを対象にワンクリックで実行することができます。
この記事では、初心者でも安心して設定できるように、PowerShellスクリプトの作成方法から右クリックメニューへの登録手順までを詳しく解説します。
レジストリ編集を使ったカスタマイズ方法と、安全に戻す方法も紹介しますので、安心して進められます。
PowerShellスクリプトを右クリックメニューに追加するメリット
PowerShellスクリプトを右クリックメニューに登録すると、次のようなメリットがあります。
- 毎回PowerShellを起動する手間が省ける
- 任意のファイルやフォルダを引数として自動で処理できる
- 作業を効率化して業務時間を短縮できる
- バックアップや整理、ログ取得などを瞬時に実行できる
特に、日常的にスクリプトを使うシステム管理者や開発者にとっては、作業効率を大きく向上させるテクニックです。
PowerShellスクリプトを準備しよう
まずは、右クリックメニューから実行したいPowerShellスクリプト(.ps1ファイル)を用意します。
ここでは、例として「選択したフォルダの中にあるすべてのTXTファイルをZIP圧縮するスクリプト」を作ってみます。
# ファイル名: CompressTxt.ps1
param (
[string]$TargetPath
)
if (-not (Test-Path $TargetPath)) {
Write-Host "指定されたパスが存在しません。"
exit
}
$zipPath = "$TargetPath\TextFiles.zip"
$txtFiles = Get-ChildItem -Path $TargetPath -Filter *.txt -File
if ($txtFiles.Count -eq 0) {
Write-Host "TXTファイルが見つかりません。"
exit
}
Compress-Archive -Path $txtFiles.FullName -DestinationPath $zipPath -Force
Write-Host "圧縮が完了しました: $zipPath"
このスクリプトを例として、右クリックから呼び出せるように設定します。
実際には「ファイル名を変更」「特定のフォルダを整理」「画像をリサイズ」など、自分の目的に合わせてスクリプトを自由にカスタマイズできます。
レジストリエディタで右クリックメニューを編集する
右クリックメニューへの追加は、Windowsのレジストリを編集して行います。
手順は以下の通りです。
⚠ 注意:レジストリを誤って編集するとシステムに不具合が起こる可能性があります。変更前にバックアップを取っておきましょう。
① レジストリエディタを起動
- Windowsキー + R を押して「ファイル名を指定して実行」を開く。
regedit
と入力して Enter。
② 新しいメニューを追加する場所へ移動
以下のキーを開きます。
HKEY_CLASSES_ROOT\Directory\Background\shell
この場所は「フォルダ内で右クリックしたときのメニュー」を設定するための場所です。
もし「特定のファイルを右クリックしたとき」に追加したい場合は、HKEY_CLASSES_ROOT\*\shell
に追加します。
③ メニュー項目を作成する
- 「shell」キーを右クリックして「新規」→「キー」を選択。
- 名前を「PowerShell_Script」など、わかりやすい名前にします。
- 作成したキーの
(既定)
の値に、右クリックメニューに表示したい名前を入力します。
例:
圧縮スクリプトを実行
④ コマンドを設定する
- 「PowerShell_Script」を右クリック → 「新規」→「キー」→ 名前を「command」に変更。
- 右側の
(既定)
に以下のコマンドを入力します。
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\CompressTxt.ps1" "%V"
C:\Scripts\CompressTxt.ps1
は、スクリプトを保存したパスに変更してください。%V
は右クリックしたフォルダのパスが渡されます。
⑤ 設定完了!実行してみよう
これで右クリックメニューに「圧縮スクリプトを実行」という項目が追加されます。
フォルダ上で右クリックしてメニューを開くと、登録した項目が表示されるはずです。
クリックするとPowerShellが自動で起動し、指定したスクリプトが実行されます。
実行ポリシーに注意しよう
PowerShellには「実行ポリシー」という安全機構があり、スクリプトの実行を制限しています。
通常は「署名なしのスクリプトは実行できない」設定になっています。
右クリックから実行する場合は、以下のように Bypass オプションを付けることで回避できます。
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\MyScript.ps1" "%1"
これにより、署名なしでも一時的にスクリプトを実行可能になります。
ファイル右クリックメニューに追加する場合
フォルダではなく、「特定のファイル」を対象にしたい場合は次のキーに登録します。
HKEY_CLASSES_ROOT\*\shell
設定内容は同様で、%1
が右クリックしたファイルのパスとして渡されます。
例:画像ファイルを右クリックしてリサイズスクリプトを実行したい場合などに有効です。
右クリックメニューを削除・修正したい場合
設定を変更したい場合は、先ほど作成したキーを削除または修正するだけです。
- レジストリエディタを再度開く
HKEY_CLASSES_ROOT\Directory\Background\shell
を開く- 追加した「PowerShell_Script」キーを削除
削除後は、右クリックメニューに表示されなくなります。
スクリプトを管理しやすくするコツ
複数のスクリプトを登録するときは、以下の工夫をすると管理がしやすくなります。
- C:\Scripts のように専用フォルダを作る
- 各スクリプトにわかりやすい名前をつける(例:
Backup.ps1
,Cleanup.ps1
) - 各スクリプトにショートコメントを記載する
- 管理表(Excelなど)で登録済みのレジストリキーを記録しておく
これにより、誤って不要なキーを削除するリスクを減らせます。
右クリックメニューの表示を階層化する
複数のスクリプトをまとめて登録したい場合、階層メニューを作ることもできます。
例えば「PowerShellスクリプト」という親メニューの下に、複数のスクリプトを表示する設定です。
HKEY_CLASSES_ROOT\Directory\Background\shell\PowerShell
その下に Compress
や Backup
といったキーを追加して、それぞれにコマンドを設定します。
これにより、メニューが整理されて使いやすくなります。
まとめ:PowerShellスクリプトを右クリックメニューで活用しよう
Windows11では、右クリックメニューを少しカスタマイズするだけで、作業効率を劇的に向上させることができます。
今回紹介した方法を使えば、日常的なファイル操作やバックアップ、整理などをワンクリックで実行できるようになります。
- レジストリの場所:
- フォルダ背景 →
HKEY_CLASSES_ROOT\Directory\Background\shell
- ファイル →
HKEY_CLASSES_ROOT\*\shell
- フォルダ背景 →
- コマンド設定例:
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\MyScript.ps1" "%1"
一度設定しておけば、あとはマウス操作だけでスクリプトを実行できます。
ぜひ、自分の業務に合わせてスクリプトを登録し、Windows11をよりスマートに使いこなしてみてください。