2011年7月29日金曜日

MORE = テキストファイルの内容を1画面ずつ表示する - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。画面表示と印刷関連
○Windows XP
テキストファイルの内容を、1画面ずつ表示します。

o このコマンドは、環境変数 MORE で指定した値を、オプションとして取り込みます。
    + ですので、予期しない動作をさせたくない時は、環境変数 MOREの値を空にしておく事をおすすめします。


**** 書式
--------
more [オプション] 表示したいファイル名
もしくは
more [オプション] < 表示したいファイル名
もしくは
実行したいコマンド | more [オプション]
--------

o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o オプション = 下記のオプションを、半角空白区切りで並べます。
    + オプションを省略した時は、次のように動きます。
        + 環境変数 MORE の値があれば、オプションとして取り込みます。
        + 拡張機能(/E)は有効です。
        + この拡張機能は、CMDコマンドで拡張機能をOFF(cmd /e:off)にしても有効です。

MORE コマンドのオプション一覧
名前意味
/eこのコマンドの拡張機能を有効にします。
    + CMDコマンドなどの「コマンド拡張機能」とは別物です。
Windows XP Service Pack 3の場合、既定で拡張機能が有効になっています。
/c表示する前に、画面の表示内容を消去します。
/pフォームフィード文字(= 改ページ文字 0x0c)を展開します。
展開すると、ページの下まで空行が入ります。次のページの先頭1行にも空行が入ります。
なお、出力をリダイレクトする時には、このオプションは危険です。
    + ファイルへの出力が途中で止まり、スペースキーを押すなどの操作が必要になります。
/s空白行が複数連続する時に、空白行を1行にまとめます。
/t数字タブ文字を、数字で指定した個数の半角空白に置き換えます。
但し、常に正しい個数に置き換えるのは、数字が 0 か 1 の時だけです。
    + 数字に2を指定した時、連続するタブを置き換えると半角空白が1つ少なくなります。
    + 例えば、タブ2つは半角空白3個に置き換わります。
    + 数字に3以上を指定すると、置き換えるタブは1つ以上減ります。
    + 数字が3の時、タブ1つは半角空白2個、タブ2つは半角空白4個に置き換わります。
+数字最初に表示するファイルのみ、数字で指定した行数分だけスキップします。
先頭行から表示したい時は0、1行スキップなら1です。
指定した数字がファイルの行数を超えた時は、次のファイルの先頭から表示します。

o 表示したいファイル名 = 複数並べて書く事が出来ます。
    + ファイルを複数並べる時は、間に半角空白を入れます。
    + ファイル名に空白文字が入る時は、ファイル名を「"」(= 二重引用符)で括ります。
    + ワイルドカード(「*」や「?」)を指定する事も出来ます。
    + 但し、フォルダーを指定する事は出来ません。
    + UNIX形式のファイル名(「\」の所で「/」を使用)を指定したい時は、リダイレクトで入力します。
        + ファイル名を直接指定する時は、UNIX形式のファイル名を使用する事は出来ません。
o 実行したいコマンド = 任意のコマンドを実行して、その表示内容をこのコマンドに渡す事が出来ます。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功、もしくは書式エラー
    + 「無効なパラメータです - /mikusan」 = 書式が間違っています。
o 1 = ファイルのアクセスエラー
    + 「ファイル C:\ミクさん にアクセスできません」 = フォルダー名では無く、ファイル名を指定して下さい。


**** 機能
o テキストファイルの内容を1画面ずつ表示します。
o 「-- More --」と表示されて止まっている時、コマンド入力を受け付けます。
    + Windows XPの場合、このコマンドの拡張機能は、既に有効になっていました。

「-- More --」で入力出来るコマンドの一覧
名前意味
空白(スペースキー)次のページを表示します。
(Enterキー)次の1行を表示します。
q終了します。
f次のファイルを表示します。
次のファイルが無い時は、終了します。
p 数字数字で指定した行数分だけ、表示します。
「p」と入力すると、数字の入力を促すメッセージを表示します。
s 数字数字で指定した行数分だけ、スキップします。
表示するのは次のページ(= 1画面分)です。
「s」と入力すると、数字の入力を促すメッセージを表示します。
=現在の位置(= 行番号)を表示します。
?「-- More --」で入力出来るコマンドの一覧を表示します。

o このコマンドは、環境変数 MORE で指定した値を、オプションとして取り込みます。
    + 但し、コマンドのオプション指定と重複する時は、コマンドのオプション指定を優先します。

** 仕様外の動作
o /p オプションを指定しない場合は、このコマンドの出力をリダイレクトする事が可能です。
    + 長いファイルを止める事無く、ファイルに出力します。
o /p オプションを指定して、実際に改ページ文字が現れた時は、MOREコマンドはキー入力を待ちます。


**** 使用例
--------
more ミクさんの料理予定.txt ミクさんの料理を最後まで食べる方法.txt

more ミクさんの料理*.txt
dir /b /s *胃腸薬* | more
--------

    + コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
    + 表示内容が長いと、途中で止まります。ですので、このコマンドは、自動処理には向いていません。


**** メモ
o 以前、TYPEコマンドで表示出来ない、特殊な文字コードが混じっているテキストファイルを、このコマンドを使うと、適当に解釈して表示してくれた事がありました。


**** 確認したバージョン
o Windows XP Service Pack 3


==
関連ページ:
    ▼画面表示と印刷関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > CLS = コマンドプロンプト画面の表示内容を消去する
    PROMPT = コマンドプロンプトの表示文字列を変更する
    COLOR = 現在のコマンドプロンプト画面の背景と文字の色を変更する
    +
    TYPE = テキストファイルの内容を表示する
(2011年7月29日追加。/tオプションの詳細動作と、環境変数 MORE)