ファイルエクスプローラのプレビュー表示

Windowsのファイルエクスプローラには「プレビュー」という機能が用意されている。この機能を利用すると、ファイルエクスプローラからファイルの中身を閲覧することができる。デフォルトではこの機能というかビューウィンドウは表示されていないのでなにも起こらない。

  • プレビューウィンドウが無効になった状態のファイルエクスプローラ

    プレビューウィンドウが無効になった状態のファイルエクスプローラ

ファイルエクスプローラのプレビュー機能は、ファイルエクスプローラのメニューから「表示」→「表示」→「プレビューウインドウ」を選択することで有効化できる(Windows 11の場合)。有効化すると、次のスクリーンショットのようにプレビューウィンドウが表示される。

  • プレビューウィンドウが表示された状態のファイルエクスプローラ

    プレビューウィンドウが表示された状態のファイルエクスプローラ

ただし、このプレビュー機能はすべてのファイルに対して機能するわけではない。画像、HTML、XML、C/C++、テキストファイルなどはプレビューが表示される。また、インストールされているアプリケーションやアドオンなどによってさらに表示できるファイルの種類は増える(Microsoft Wordなど)。しかし、対応していないファイルではプレビューは表示されない。PowerShellスクリプトもプレビュー対象となっていないため、選択しても上記スクリーンショットのように表示されない。

ただ、よく考えてみればPowerShellスクリプトはただのスクリプトファイルであり、テキストファイルだ。ファイルエクスプローラのプレビューで表示できるようにしたところで、特にシステムの負荷が上がるとは思えないし、プレビューできた方が便利だと思う。

ということで、今回はPowerShellスクリプトをファイルエクスプローラでプレビュー表示できるようにする方法を紹介する。

PowerShellスクリプトをプレビューの対象とする方法

設定はレジストリエディターで行う。レジストリエディターを起動したらHKEY_CLASSES_ROOT.ps1を選択する。

  • レジストリエディター:HKEY_CLASSES_ROOT\.ps1

    レジストリエディター:HKEY_CLASSES_ROOT\.ps1

ここで「新規」→「文字列値」を選択し、次の値を追加する。

項目 内容
名前 PerceivedType
種類 REG_SZ
データ text
  • 必要となる値を追加したあとのレジストリエディター

    必要となる値を追加したあとのレジストリエディター

設定はこれで完了だ。ここでは.ps1という拡張子を対象として設定を行っている。PowerShellのスクリプトファイルやモジュールファイルは.psm1や.psd1といった拡張子も使われている。これらファイルもプレビュー表示したい場合には、同じ要領でその拡張子のパスを選択してから同じ値を追加してあげればよい。

設定を変更したあとにファイルエクスプローラで.ps1ファイルを選択すると次のようになる。プレビューが機能していることがわかる。

  • PowerShellスクリプトファイルをファイルエクスプローラでプレビュー

    PowerShellスクリプトファイルをファイルエクスプローラでプレビュー

拡張子が異なっている場合でも、対象がテキストファイルならここで説明したのと同じ方法でプレビュー表示させることができる。人によってはファイルエクスプローラでプレビューできた方が便利なこともあるだろう。必要があれば同じ要領で試してもらえればと思う。

PowerShellから設定することもできる

先程の作業はPowerShellであればコマンドレットで操作することもできる。New-ItemPropertyで直接レジストリに値を追加してやればよい。次のような感じで作業する。

.ps1ファイルをファイルエクスプローラでプレビュー表示させる方法

$Regpath = 'Registry::HKEY_CLASSES_ROOT\.ps1'
New-ItemProperty -Path $Regpath -Name PerceivedType -PropertyType String -Value 'text'

PowerShellの操作に慣れているなら、レジストリエディターから操作するよりも上記のようにコマンドレットを実行した方がよいんじゃないかと思う。

なお、追加した値を削除したいなら次のようにコマンドレットを実行すればよい。

.ps1ファイルをファイルエクスプローラでプレビュー表示させる設定を削除する方法

$Regpath = 'Registry::HKEY_CLASSES_ROOT\.ps1'
Remove-ItemProperty -Path $Regpath -Name PerceivedType

今回取り上げた設定はちょっとしたティップスのようなものだが、ファイルエクスプローラをよく使うという場合には、なかなか便利な方法ではないかと思う。ファイルエクスプローラでPowerShellスクリプトが表示されないことに不便さを感じていたのであれば、この方法を試してもらえれば幸いだ。

参考