Windows PowerShell由来の機能が続々復活中

MicrosoftはPowerShell 7をWindows PowerShellの正式な後継プロダクトと位置付けた。このため、PowerShell Core 6としてオープンソース化する段階で削ぎ落とした機能の復活が続けられている。こうした機能の多くはWindowsでのみ動作する(少なくとも現段階では)ものなので、macOSとLinuxでの利用には関係のない話なのだが、将来のバージョンでmacOSやLinuxでも使えるようになるかもしれないし、Windows的には便利な機能なので知っておいて損はない。

PowerShell 7.0.0-Preview6

今回はそうした機能の1つとして印刷機能とゴミ箱のクリア機能を取り上げる。今のところWindowsに限定された機能だが、macOS辺りは対応がそれほど難しくないように思う。今後、利用できるようになることを期待しつつ、どのような機能が戻ってきたか見ておこう。

印刷出力 Out-Printer

Windows PowerShellのときには「Out-Printer」というコマンドレットを使うことができた。PowerShell Core 6になった段階で使えなくなったコマンドレットなのだが、PowerShell 7.0.0-Preview6で再び使用できるようになった。このコマンドレットは、流れてくるデータをプリンタに出力するというものだ。処理結果をすぐに印刷したい場合などに便利である。

例えば、次のようにフォルダの出力を得たとする。

「Get-ChildItem」でフォルダのファイルなどの一覧を取得

これを次のようにパイプラインでOut-Printerコマンドレットに接続してみる。

Get-ChildItemの出力をOut-Printerコマンドレットに接続

そうすると、次のようなダイアログが起動する。直接印刷するというよりも、PDFデータとして保存するといった内容だ。

Out-Printerコマンドレットが出力した印刷用ダイアログ

ここでファイル名を入力してから「保存」ボタンを押す。

ファイル名を入力してから「保存」ボタンを押す

そうすると、次のようにPDFデータが作成される。印刷したければここから印刷を行えばよい。

作成されたPDFデータ

Out-Printerは処理したデータをとりあえず印刷しておきたい場合などに便利だ。データをコピー&ペーストしてエディタなどに貼り付けてから印刷することもできるが、とりあえず印刷できればいいならOut-Printerのほうが手軽にできる。処理結果をPDFで保存しておきたい場合などにも便利だ。

ゴミ箱をクリア - Clear-RecycleBin

PowerShell 7.0.0-Preview6で復活したコマンドレットの1つに「Clear-RecycleBin」がある。コマンドレット名通り、ゴミ箱をクリアするためのコマンドレットだ。

Windowsではゴミ箱にデータがあると次のようなアイコンが表示される。

ゴミが入っているゴミ箱

この状態で次のようにClear-RecycleBinコマンドレットを実行する。処理内容を問われるので、とりあえず全部削除を意味する「Y」を入力しておく。

Clear-RecycleBinを実行してゴミを全部削除

Clear-RecycleBinコマンドレットが終了すると、次のようにゴミ箱がクリアされる。

Clear-RecycleBinでクリアされたゴミ箱

Clear-RecycleBinコマンドレットが使用できると、「特定の条件を満たしたらゴミ箱をクリアする」といったようなメンテナンス用のスクリプトを組むことができる。これもあると便利なコマンドレットだ。

Windows専用のOut-PrinterとClear-RecycleBin

冒頭でも述べたように、Out-PrinterコマンドレットとClear-RecycleBinコマンドレットはWindows専用のコマンドレットだ。試しにmacOSで実行しようとすると、次のようにエラーが表示される。

macOSではOut-PrinterもClear-RecycleBinも使えない

PowerShell Core 6を公開する段階で削除された機能は、当面はWindows専用のコマンドレットとして復活するものと見られる。どれも便利な機能なので、できればmacOSやLinuxでもサポートが進められてほしいところだ。

参考資料