more
は、PowerShellで大量の出力をページ送りしながら表示するためのコマンドです。
Out-Host -Paging
がPowerShell 7以降で削除されたため、代替手段としてmore
を活用できます。
Linuxのless
ほど高機能ではありませんが、一度に画面に表示しきれない出力を分割して閲覧できるため、長いログやコマンド結果を確認する際に便利です。
moreの基本的な使い方
基本的な構文は以下の通りです。
<コマンド> | more
例えば、プロセスの一覧をページ送りで確認する場合は、以下のようにします。
Get-Process | more
このコマンドを実行すると、画面いっぱいに出力を表示した後、次のページへ進むためのプロンプトが表示されます。
moreの具体的な使用例
長いファイルの内容をページ送りで確認する
テキストファイルの内容をページ単位で表示できます。
Get-Content C:\logfile.txt | more
大きなログファイルの内容を一気に表示するのではなく、少しずつ確認できるので便利です。
システムイベントログをページ送りで表示する
イベントログの一覧が多くなりがちな場合、以下のようにmore
を組み合わせて見やすくできます。
Get-EventLog -LogName Application | more
PowerShellコマンドの出力をページ送りで表示する
変数の一覧や設定情報を確認する際にも利用できます。
Get-Variable | more
また、環境変数の一覧をページ送りで確認する場合は、以下のようにします。
Get-ChildItem Env: | more
moreの操作方法
more
を実行中は、以下のキーで操作できます。
キー | 動作 |
---|---|
Enter | 1行進む |
スペースキー | 1ページ進む |
Q | 終了する |
例えば、長いログを見ている途中でQ
キーを押すと、即座に終了できます。
moreの注意点
後ろにパイプをつなげられない
more
は出力をページ送りするためのコマンドであり、その後ろにさらにパイプで処理を続けることはできません。
誤った例
Get-Process | more | Select-Object Name # これはエラーになる
正しい例
Get-Process | Select-Object Name | more
less
のようにスクロールできない
more
は上方向にスクロールできません。
もしスクロール機能が必要なら、WSL(Windows Subsystem for Linux)でless
を使う方法もあります。
リダイレクト(>
)と併用できないmore
は画面出力専用のコマンドであり、リダイレクト(>
やOut-File
)とは併用できません。
誤った例
Get-Process | more > output.txt # これは動作しない
moreとOut-Host -Pagingの違い
コマンド | 特徴 |
more | 出力をページ単位で表示するが、後ろにパイプを繋げられない |
Out-Host -Paging | PowerShell 5.1までは利用可能だったが、PowerShell 7以降では削除された |
less (WSL) | more より高機能でスクロールが可能 |
まとめ
メリット | デメリット |
長い出力をページ送りで表示できる | スクロールバックができない |
ほとんどのPowerShellコマンドと組み合わせ可能 | less のような高度な機能はない |
Out-Host -Paging が使えない環境で代替できる | リダイレクトができない |
PowerShell 7 以降では Out-Host -Paging
が廃止されているため、大量の出力を確認する際は more
を活用すると便利です。