17.【MORE】画面単位で区切って表示する

とても長いテキストファイルや、出力データが膨大な処理結果をコマンドプロンプトで表示させると、出力状況に応じてどんどんスクロールしていき、最後には画面バッファ量を超えると、一行目から順にデータが削除されていきます。

MOREコマンドは入力を受け付けると、画面サイズで区切って順に出力してくれます。そのためスクロールで内容が読めなくなることもありませんし、データ量が多すぎて、データが消えてしまうこともありません(DIRコマンドの/pスイッチのような働きをします)。

使い方としては、通常のコマンドのようにファイルを指定して表示させる方法と、パイプ機能を利用してMOREにコマンドの処理結果を読み込ませて、ページごとに表するように再処理することもできます。

書式: MORE [スイッチ] [パス]ファイル名 ※通常使用
例: MORE more-text.txt 
書式: MORE [スイッチ] < [パス]ファイル名 ※リダイレクトを使用した場合
例: MORE < more-text.txt
書式: コマンドA | more [スイッチ] ※パイプを使用した場合
例: DIR /S | more

書式はどういうシーンでMOREコマンドを使用するかによって違ってきます。最初の書式は通常のファイルを指定する方法、2つ目の書式はリダイレクトを使って標準入力をファイルに切り替えて表示する方法、3つ目はパイプ機能を使ってコマンドの標準出力をMOREの入力に接続してデータを再処理する方法です。目的に応じて柔軟にデータの選択ができるので便利ですね。

複数のファイルを開く

MOREは複数ファイルの表示に対応しています。

> MORE Multiple1.txt Multiple2.txt

のように半角スペースで区切ってファイルを指定します。ファイルがカレントディレクトリにない場合は、それぞれのファイルごとにパスが必要になります。

> MORE Documents¥Multiple1.txt Document¥Multiple2.txt

複数ファイルを指定した場合は、最初に指定したファイルから順に表示されます。1ファイル目を表示し終えたら2ファイル目という具合です。ファイルを表示している途中で2ファイル目を表示したい時は、「F」キーを押します。

スイッチ一覧

オプションの種類機能
/e拡張機能を有効にする(デフォルトはONの状態)
/Cページを表示する前に画面を消去する
/Pフォーム フィード文字を展開する
/S複数の空白行を1行に縮小する
/Tnタブをn個のスペースに置き換える(既定値は8)
/+n最初のファイルをn行目から表示する
※ nは数字が入ります。

キー操作一覧

オプションの種類機能
P n次のn行を表示する
S n次のn行をスキップする
F次のファイルを表示する
Q終了する
=行番号を表示する
?ヘルプを表示する
<space>キー次ページを表示する
<return>キー,<enter>キー次の行を表示する
コマンド実行後 — More(00%) — と表示されているときにキーを押す。

スイッチの/eですが、コマンドプロンプトの設定を変更していない限りはデフォルトでONになっていますので、通常使用することはありません。

/Cは現在表示されている内容を消去しますから、保存されていない内容を表示している時は注意が必要です。消去することで画面バッファをある程度確保する効果が見込めます。

/Sは複数にわたる空白行を1行にまとめてくれます。普段は/Sオプションをつけて作業しても良いでしょう。特にパイプ機能などを使ってSORTコマンドを使用した場合など、空白行が数十行続いて表示されたりしますので、そういうときには是非使いたいスイッチです。

/Tnは/T4などと記述して使用します。タブによるインデントをスペースによりインデントに置き換える際にスペースの個数を指定します。コード系のテキストを表示させるときに、TABのままではうまく画面表示できない時などに使用します。

/+nは/+100などと記述して使用します。指定した行数から表示します。

上記のオプションでは/s,/+nを覚えておくと、便利に使えると思います。その他のオプションはそれぞれの使い方に合わせて覚えていくといいでしょう。

MOREコマンドはDIRの/Pオプションを使うよりさらに細かな設定や操作ができるようになっています。簡易的に使用するなら/Pオプションでもいいですが、機能不足を感じるときにはパイプ機能を使ってMOREコマンドに渡した方が使いやすいでしょう。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA